脚本宝典收集整理的这篇文章主要介绍了php – Intermittent simplexml_load_file():本地Joomla站点上的I / O警告,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
完整的警告是:
警告:simpleXMl_load_file():I / O警告:无法在1354行的/sITe/libraries/joomla/language/language.PHP中加载外部实体“/site/language/en-GB/en-GB.xml”
奇怪的是,它是间歇性的,一些刷新通常可以解决问题.
<!DOCTYPE scan [<!ENTITY test SYstem "PHP://filter/read=convert.base64-encode/resource=/etc/passwd">]> <scan>&test;</scan>
here解释了缺少线程安全性引起的问题.虽然可以使用libxml_set_external_entity_loader注册自己的实体加载器,或者使用锁来保护对libxml_disable_entity_loader的调用,但这些解决方案看起来有点令人费解.
好消息是外部实体的问题只影响处理文件的功能(例如simplexml_load_file
,DOMDocument::schemaValidate
等).这使解决方案变得简单直接.首先将文件内容作为字符串加载,然后执行相应的libxml字符串导向功能.
simplexml_load_string(file_get_contents($xml));
和/或
$xml = new DOMDocument('1.0','UTF8'); $xml->loadXML(file_get_contents($xmlFile)); $xml->schemaValidateSource(file_get_contents($xsDFile));
希望它对某人有帮助.
以上是脚本宝典为你收集整理的php – Intermittent simplexml_load_file():本地Joomla站点上的I / O警告全部内容,希望文章能够帮你解决php – Intermittent simplexml_load_file():本地Joomla站点上的I / O警告所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。