simplexml_load_file(): I/O 警告: 无法加载外部实体 “/user-bundle/Resources/config/doctrine/model/User.orm.xml
我在Symfony2的生产部署中遇到了一些问题,
我尝试过许多解决方案,但没有一个奏效。
在生产环境中访问我的 symfony 应用程序时,我随机出现此错误:
( ! ) Fatal error: Uncaught exception 'Symfony\Component\Debug\Exception\ContextErrorException' with message 'Warning: simplexml_load_file(): I/O warning : failed to load external entity "/home/user/symfony/vendor/friendsofsymfony/user-bundle/Resources/config/doctrine/model/User.orm.xml"' in /home/user/symfony/app/bootstrap.php.cache on line 2998
( ! ) Symfony\Component\Debug\Exception\ContextErrorException: Warning: simplexml_load_file(): I/O warning : failed to load external entity "/home/user/symfony/vendor/friendsofsymfony/user-bundle/Resources/config/doctrine/model/User.orm.xml" in /home/user/symfony/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php on line 736
Call Stack
# Time Memory Function Location
1 0.0000 262880 {main}( ) ../app_dev.php:0
2 0.0015 572736 Symfony\Component\HttpKernel\Kernel->handle( ) ../app_dev.php:79
3 0.1342 4023952 Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle( ) ../bootstrap.php.cache:2376
( ! ) LogicException: Request stack is empty in /home/user/symfony/app/bootstrap.php.cache on line 2998
Call Stack
# Time Memory Function Location
1 0.3330 7110120 Symfony\Component\Debug\ErrorHandler->handleException( ) ../classes.php:0
2 0.3331 7119696 Symfony\Component\Debug\ErrorHandler->handleException( ) ../classes.php:1939
我试图升级我的php版本(我在php 5.4.x中,现在在5.6.4中),
我试图升级lixml2版本(我现在在2.8.0中,但我已经尝试在2.9.3中升级)
我已经说过,php中使用的libxml版本始终是2.8.0,但是,我还没有找到改变这一点的方法,
我试图在chmod 777中设置symfony的所有目录
我的服务器是 debian 7.5 服务器。
也许知道这个错误的人可以帮助我
以下是与此相关的不同问题的一些链接:
我没有在它们中发布,因为它们都过时了
[编辑]
我找到了一个快速修复程序,但它在供应商中,因此它将在学说更新的第一次更新中被覆盖:
XmlDriver 中的 QuickFix.php第 737 行
$xmlElement = @simplexml_load_file($file);
if(!$xmlElement){
$xmlData = file_get_contents($file);
$xmlElement = simplexml_load_string($xmlData);
}