Mam problem z moim wdrożenia produkcyjnego Symfony2,simplexml_load_file(): I/O ostrzeżenie: nie udało się załadować podmiot zewnętrzny " /user-bundle/Resources/config/doctrine/model/User.orm.xml
Próbowałem wielu rozwiązań, ale żaden z nich nie zadziałał.
ja losowo ten błąd podczas uzyskiwania dostępu do mojej aplikacji symfony na środowisku produkcyjnym:
(!) 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
Próbowałem uaktualnić swoją wersję php (byłem w php, a teraz w wersji conajmniej 5.4.x 5.6.4),
próbowałem uaktualnić wersję lixml2 (jestem w 2.8.0 teraz, ale ja już próbowałem uaktualnić w 2.9.3)
mam constated że wersja libxml używane w PHP jest zawsze 2.8.0, ale nie znalazłem sposobu, aby to zmienić,
Próbowałem ustawić cały katalog symfony w usłudze chmod 777
Mój serwer jest serwerem debian 7.5.
Może ktoś, kto wie, ten błąd może mi pomóc
Oto linki do zróżnicowanych pytanie związane z tym jednym:
Random Error, FOSUserBundle Error i Service error
I nie pisać w nich, ponieważ wszystkie są przestarzałe
[EDIT]
znalazłem qu ick naprawić, ale to w sprzedawców, więc będzie overrided w pierwszej aktualizacji aktualizacji nauką
QuickFix w XmlDriver.php Linia 737
$xmlElement = @simplexml_load_file($file);
if(!$xmlElement){
$xmlData = file_get_contents($file);
$xmlElement = simplexml_load_string($xmlData);
}
Czy możesz powiedzieć coś więcej, jak problem został rozwiązany? Dzięki ... –
Poza tym, że zmieniłeś sprzedawcę, który jest zły, dodanie znaku @ w celu ukrycia fatalnego błędu jest gorsze, twój skrypt php zatrzymuje się i nawet nie zdajesz sobie z tego sprawy, będzie dobrze wyglądać bez błędu, ale zauważysz trochę dziwne zachowanie po tym, nie wiedząc dlaczego. –
Tak, mam świadomość, że ta poprawka nie jest rozwiązaniem, ale jest lepsza niż nic! – PyRowMan