解决500个响应Laravel(Uncaught UnexpectedValueException:Laravel.log) [英] Solve 500 response Laravel (Uncaught UnexpectedValueException: Laravel.log)

查看:1371
本文介绍了解决500个响应Laravel(Uncaught UnexpectedValueException:Laravel.log)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Centos 7上使用我的(新的/干净的)Laravel(尝试过v5.2和v5.5)应用程序时遇到问题,当我无错误地访问该应用程序的URL时,显示500错误.我检查了Apache的日志文件(/etc/httpd/logs/error-log.log),其中包含以下2个错误:

I have a problem with my (new/clean) Laravel (tried v5.2 and v5.5) application on Centos 7. It shows a 500 error when i visited the URL of the application with no error. I checked the log file of apache (/etc/httpd/logs/error-log.log) what contained the 2 errors bellow:

[2017年12月4日星期一10:32:34.108956] [:错误] [pid 25889] [客户端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中的权限被拒绝跟踪:\ 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->错误(对象(UnexpectedValueException),数组)\ n #4/var/www/public/blog_project/vendor/laravel/framework/src/Illuminate/Log/Writer.php(113):Illuminate \ Log \ Writer-> writeLog('error',Object(U在/var/第107行的www/public/blog_project/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php

[Mon Dec 04 10:32:34.108956 2017] [:error] [pid 25889] [client 192.168.1.240:63437] PHP Fatal error: Uncaught UnexpectedValueException: The stream or file "/var/www/public/blog_project/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /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/blog_project/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 107

&

[2017年12月4日星期一10:32:34.109334] [:错误] [pid 25889] [客户端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中的权限被拒绝跟踪:\ 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(Symfon y \ Component \ Debug \ Exception \ FatalErrorException),数组)\ n#4/var/www/public/blog_project中的/var/www/public/blog_project/vendor/laravel/framework/src/Illuminate/Log/Writer.p /vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php,第107行

[Mon Dec 04 10:32:34.109334 2017] [:error] [pid 25889] [client 192.168.1.240:63437] PHP Fatal error: Uncaught UnexpectedValueException: The stream or file "/var/www/public/blog_project/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /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\Component\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/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 107

为了解决这些问题,我在Google上搜索了很多.我找到了所有与权限相关的解决方案,因此我尝试将chmod 777设置为/var/www/public/blog_project中的所有目录和文件(出于测试目的,不建议在实时环境中使用!),但这不能解决问题.

To solve these problems i Googled a lot. Solutions i found where all related to permissions so I tried to set chmod 777 to all directories and files (for test purposes, not recommended at live environment!) in /var/www/public/blog_project but this did not solve the problem.

我还发现所有者/组可能是问题所在(chmod 777不太可能,但是可以),因此我将所有者和组更改为"apache".不幸的是,这仍然不能解决我的问题.

I also found that the owner/group could be the problem (unlikely with chmod 777 but ok) so I changed the owner and group to "apache". Unfortunately this did still not solve my problem.

我还尝试了"php artisan cache:clear"(建议在某些主题中描述与我相同的问题)

I also tried a "php artisan cache:clear" (suggested in some topic what described the same problem as i have)

推荐答案

在撰写本文时,我已经找到了解决问题的方法(经过数小时的谷歌搜索),但是我仍然想发布此问题,因为我无法找到另一个问题解决了我的问题.我希望以此方式帮助其他有相同问题的人.

At the moment of writing i already had found the solution (after many hours of Googling) for my problem but i still want to post this question because i could not find another question what solved my problem. I hope to help other people who have the same problem this way.

问题是启用了SELinux,即使在777模式下,它也阻止Apache写入文件.默认情况下,似乎SELinux在Centos 4或更高版本中处于活动状态.我还发现Fedora激活了SELinux,从而导致了同样的问题(没有Fedora本身的经验).

The problem was that SELinux was enabled which prevent Apache to write files even with 777 mode. It seems that SELinux is active by Centos 4 or higher by default. I also found that Fedora has SELinux activated what results in the same problem (no own experience with Fedora).

我通过禁用SELinux解决了该问题.对于CentosOS7 id,通过编辑/etc/sysconfig/selinux做到了这一点 并将行SELINUX=enforcing更改为SELINUX=disabled.之后,我重新启动了服务器,问题就解决了.

I solved the problem by disabling SELinux. For CentosOS7 id did this by editing /etc/sysconfig/selinux and changing the line SELINUX=enforcing into SELINUX=disabled. After that i rebooted the server and the problem was solved.

这篇关于解决500个响应Laravel(Uncaught UnexpectedValueException:Laravel.log)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆