解决500响应Laravel(Uncaught UnexpectedValueException:Laravel.log)

问题描述 投票:0回答:2

我在Centos 7上的(新的/干净的)Laravel(尝试过的v5.2和v5.5)应用程序有问题。当我访问应用程序的URL时没有错误,显示500错误。我检查了apache的日志文件(/etc/httpd/logs/error-log.log)包含以下2个错误的内容:

[Mon Dec 04 10:32:34.108956 2017] [:error] [pid 25889] [client 192.168.1.240:63437] PHP致命错误:未捕获UnexpectedValueException:流或文件“/ var / www / public / blog_project / storage / logs / laravel.log“无法打开:无法打开流:/var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107 \ nStack trace中的权限被拒绝:\ n#0 /var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37):Monolog \ Handler \ StreamHandler-> write(Array)\ n#1 / var / www /public/blog_project/vendor/monolog/monolog/src/Monolog/Logger.php(337):Monolog \ Handler \ AbstractProcessingHandler-> handle(Array)\ n#2 / var / www / public / blog_project / vendor / monolog / monolog / src / Monolog / Logger.php(616):Monolog \ Logger-> addRecord(400,Object(UnexpectedValueException),Array)\ n#3 / var / www / public / blog_project / vendor / laravel / framework / src / Illuminate / Log / Writer.php(202):Monolog \ Logger-> error(Object(UnexpectedValueException),Array)\ n#4 / var / www / public / blog_project / vendor / laravel / framework / src / Illuminate / Log / Writer.php(113):Illuminate \ Log \ Writer-> writeLog('error',Object(U in / var / www / public第107行的/blog_project/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php

&

[Mon Dec 04 10:32:34.109334 2017] [:error] [pid 25889] [client 192.168.1.240:63437] PHP致命错误:未捕获UnexpectedValueException:流或文件“/ var / www / public / blog_project / storage / logs / laravel.log“无法打开:无法打开流:/var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107 \ nStack trace中的权限被拒绝:\ n#0 /var/www/public/blog_project/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37):Monolog \ Handler \ StreamHandler-> write(Array)\ n#1 / var / www /public/blog_project/vendor/monolog/monolog/src/Monolog/Logger.php(337):Monolog \ Handler \ AbstractProcessingHandler-> handle(Array)\ n#2 / var / www / public / blog_project / vendor / monolog / monolog / src / Monolog / Logger.php(616):Monolog \ Logger-> addRecord(400,Object(Symfony \ Component \ Debug \ Exception \ FatalErrorException),Array)\ n#3 / var / www / public / blog_project / vendor / laravel / framework / src / Illuminate / Log / Writer.php(202):Monolog \ Logger-> error(Object(Symfony \ Co) mponent \ Debug \ Exception \ FatalErrorException),Array)\ n#4 /var/www/public/blog_project/vendor/laravel/framework/src/Illuminate/Log/Writer.p in / var / www / public / blog_project / vendor第107行/monolog/monolog/src/Monolog/Handler/StreamHandler.php

为了解决这些问题我google了很多。解决方案我找到了所有与权限相关的内容,所以我尝试将chmod 777设置为/ var / www / public / blog_project中的所有目录和文件(用于测试目的,不建议在实时环境中使用!),但这并没有解决问题。

我还发现所有者/组可能是问题(chmod 777不太可能,但确定)所以我将所有者和组更改为“apache”。不幸的是,这仍然没有解决我的问题。

我也尝试了“php artisan cache:clear”(在某些主题中提出了与我有相同问题的描述)

laravel-5 centos7 http-status-code-500
2个回答
1
投票

在写作的那一刻,我已经找到解决方案(经过数小时的谷歌搜索)我的问题,但我仍然想发布这个问题,因为我找不到另一个问题什么解决了我的问题。我希望以这种方式帮助其他有同样问题的人。

问题是启用了SELinux,即使使用777模式也会阻止Apache写入文件。似乎SELinux默认情况下由Centos 4或更高版本激活。我还发现Fedora已经激活SELinux会导致同样的问题(没有自己的Fedora经验)。

我通过禁用SELinux解决了这个问题。对于CentosOS7,id通过编辑/etc/sysconfig/selinux并将SELINUX=enforcing行更改为SELINUX=disabled来实现。之后,我重新启动服务器,问题解决了。


0
投票

我通过禁用SELinux解决了这个问题。对于CentosOS7,id通过编辑/ etc / sysconfig / selinux并将SELINUX = enforcing更改为SELINUX = disabled来完成此操作。之后,我重新启动服务器,问题解决了。

谢谢 :)

© www.soinside.com 2019 - 2024. All rights reserved.