Résoudre 500 réponses Laravel (Uncaught Unexpectevalueexception: Laravel.journal)

j'ai un problème avec mon (nouveau/propre) Laravel (essayé v5.2 et v5.5) application sur Centos 7. Il affiche une erreur 500 lorsque j'ai visité l'URL de l'application sans aucune erreur. J'ai vérifié le fichier de journalisation d'apache (/etc/httpd/logs/error-log.journal) de ce que contenaient les 2 erreurs ci-dessous:

[Lun Dec 04 10:32:34.108956 2017] [:erreur] [pid 25889] [client 192.168.1.240:63437] PHP Fatal error: Uncaught Unexpectevalueexception: le flux ou le fichier "/var/www/public/blog_project/stockage/logs/laravel.journal" n'a pas pu être ouvert: failed to open stream: Permission denied in /var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Gestionnaire/StreamHandler.php: 107nStack trace:n#0 / var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Handler / AbstractProcessingHandler.php(37): MonologHandlerStreamHandler->write (Array)n#1 /var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Logger.php(337)): MonologHandlerAbstractProcessingHandler - > handle (Array)n#2 /var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Logger.php (616): MonologLogger->addRecord(400, Object(Unexpectevalueexception), Array)n#3 /var/www/public/blog_project/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): MonologLogger->error(Object (Unexpectevalueexception), Array)n#4 /var/www/public/blog_project/vendor/laravel/framework/src/Illuminate/Log/Writer.php (113): ÉclairerLogÉcrivain->writeLog ("erreur", de l'Objet(U dans /var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Gestionnaire/StreamHandler.php sur la ligne 107

&

[Lun Dec 04 10:32:34.109334 2017] [:erreur] [pid 25889] [client 192.168.1.240: 63437] PHP Fatal error: Uncaught Unexpectevalueexception: The stream or file "/var/www/public/blog_project/storage/logs/laravel.log " n'a pas pu être ouvert: n'a pas réussi à ouvrir le flux: Permission refusée dans/var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Handler / StreamHandler.php: 107nStack trace:n#0 / var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Handler / AbstractProcessingHandler.php(37): MonologHandlerStreamHandler->write (Array)n#1 /var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Logger.php (337): MonologHandlerAbstractProcessingHandler - >handle (Array)n#2 / var/www/public/blog_project/vendor/monolog/monolog/src/Monolog / Logger.php (616): MonologLogger->addRecord(400, Object(SymfonyComponentDebugExceptionFatalErrorException), Array)n#3 /var/www/public/blog_project/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): MonologLogger->error(Object (SymfonyComponentDebugExceptionFatalErrorException), Array)n#4 /var/www/public/blog_project/vendor/laravel/framework/src/Illuminate/Log/Writer.p / var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Handler / StreamHandler.php sur la ligne 107

pour résoudre ces problèmes, j'ai beaucoup cherché sur Google. Des Solutions que j'ai trouvées là où tout était lié aux permissions, donc j'ai essayé de configurer chmod 777 à tous les répertoires et fichiers (pour des raisons de test, pas recommandé à live environment! dans /var/www/public/blog_project mais cela ne résout pas le problème.

j'ai également constaté que le propriétaire/groupe pourrait être le problème (peu probable avec chmod 777 mais ok) donc j'ai changé le propriétaire et le groupe à "apache". Malheureusement, cela n'a pas encore résolu mon problème.

j'ai aussi essayé un "php artisan cache: clear" (suggéré dans un sujet ce qui décrit le même problème que j'ai)

0
demandé sur RoDo 2017-12-05 12:44:10

1 réponses

au moment de l'écriture j'avais déjà trouvé la solution (après de nombreuses heures de Googling) pour mon problème mais je veux encore poster cette question parce que je ne pouvais pas trouver une autre question ce qui a résolu mon problème. J'espère aider d'autres personnes qui ont le même problème de cette façon.

le problème était que SELinux était activé, ce qui empêchait Apache d'écrire des fichiers même avec le mode 777. Il semble que SELinux soit actif par Centos 4 ou plus par défaut. J'ai aussi trouvé que Fedora a SELinux activé ce qui entraîne le même problème (pas de propre expérience avec Fedora).

j'ai résolu le problème en désactivant SELinux. Pour CentosOS7 id fit en édition /etc/sysconfig/selinux et changer la ligne SELINUX=enforcing en SELINUX=disabled . Après cela, j'ai redémarré le serveur et le problème a été résolu.

1
répondu RoDo 2017-12-05 09:50:11