Php 间歇性simplexml_加载_文件():本地Joomla站点上的I/O警告
我刚刚开始在本地主机上运行的joomla开发站点的所有页面上都出现间歇性错误 全部警告如下:Php 间歇性simplexml_加载_文件():本地Joomla站点上的I/O警告,php,joomla,Php,Joomla,我刚刚开始在本地主机上运行的joomla开发站点的所有页面上都出现间歇性错误 全部警告如下: 警告:simplexml_load_file():I/O警告:无法加载第1354行/site/libraries/joomla/language/language.php中的外部实体“/site/language/en GB/en GB.xml” 奇怪的是,它是间歇性的,几次刷新通常可以解决问题 是否有代码问题可能导致这种情况,或者是其他原因造成的?现在还不能肯定地说这种修复方法是有效的,但现在似乎已经
警告:simplexml_load_file():I/O警告:无法加载第1354行/site/libraries/joomla/language/language.php中的外部实体“/site/language/en GB/en GB.xml”
奇怪的是,它是间歇性的,几次刷新通常可以解决问题
是否有代码问题可能导致这种情况,或者是其他原因造成的?现在还不能肯定地说这种修复方法是有效的,但现在似乎已经解决了 编辑:进行此更改后,未发现任何再次发生的情况,因此我可以确认此操作已解决问题 添加
libxml\u禁用\u实体\u加载程序(false)代码>到joomla的index.php
在Joomla论坛上,Corneliu发表了以下帖子:
让我把它放在这里,以防万一有人会在谷歌上搜索答案,而带有非线程安全的libxml\u disable\u entity\u loader(false)
的解决方案将不适用。在系统范围内启用实体加载器的潜在漏洞如下所示:
<!DOCTYPE scan [<!ENTITY test SYSTEM
"php://filter/read=convert.base64-encode/resource=/etc/passwd">]>
<scan>&test;</scan>
和/或
$xml = new DOMDocument('1.0', 'UTF8');
$xml->loadXML(file_get_contents($xmlFile));
$xml->schemaValidateSource(file_get_contents($xsdFile));
希望它能帮助某人。间歇性的I/O警告
听起来可能是系统/硬件问题?也许是一个完整的硬盘什么的?@Pekka웃 谢谢你的回复,我刚刚检查了一下,ssd上有65GB的空闲空间,所以不是这样。而且,总是同一个文件,这很奇怪…嗯。不确定如何调试此文件处理程序(并获得实际有用的错误消息,而不是毫无意义的“I/O警告”)的其他文件处理程序的竞争条件?@Zarazthuztra感谢您的回复,请您解释一下您的建议,因为我不明白!非常感谢您,我使用的是PHPV5.5.3,simplexml_load_文件根本无法工作,即使使用完全可访问的本地文件。这个解决方案对我有效。非常好的信息!!!Doovers,谢谢你的信息和链接。我今天遇到了杀死Magento商店的同一个问题,这个功能救了我。我的问题也与皮维克有关。
$xml = new DOMDocument('1.0', 'UTF8');
$xml->loadXML(file_get_contents($xmlFile));
$xml->schemaValidateSource(file_get_contents($xsdFile));