2017-12-05 18 views
0

Centos 7에서 내 (새/깨끗한) Laravel (v5.2 및 v5.5를 시도한) 응용 프로그램에 문제가 있습니다. 방문했을 때 500 오류가 표시됩니다. 오류가없는 응용 프로그램의 URL입니다.Solve 500 응답 Laravel (잡히지 않은 UnexpectedValueException : Laravel.log)

[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

&

[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

은 내가 봤 이러한 문제를 해결하기 : 나는 울부 짖는 2 개에 오류가 무엇 아파치 (/etc/httpd/logs/error-log.log)의 로그 파일을 확인 제비. 솔루션 난 어디에 모든 권한에 관련된 그래서 모든 디렉토리와 파일 (테스트 목적을 위해, 라이브 환경에서 권장하지 않습니다!) chmod 777을 설정하려고/var/www/public/blog_project에서 발견했지만이 문제를 해결하지 못했습니다.

또한 소유자/그룹이 "apache"로 변경되어 소유자/그룹이 문제가 될 수 있음을 알았습니다 (chmod 777는 없지만 괜찮습니다). 불행히도 이것은 여전히 ​​내 문제를 해결하지 못했습니다.

나는 또한 시도 : 글을 쓰는 순간

답변

1

(나는이 같은 문제를 설명 무엇을 일부 항목의 제안) "PHP 장인 캐시를 지우"난 이미 인터넷 검색의 몇 시간 후 (해결책을 발견했다) 내 문제에 대한하지만 난 아직도 내 문제를 해결 다른 질문을 찾을 수 없기 때문에 나는이 질문을 게시하고 싶습니다. 이런 식으로 같은 문제를 가진 다른 사람들을 도울 수 있기를 바랍니다.

문제는 SELinux가 활성화되어 Apache가 777 모드에서도 파일을 쓸 수 없게하는 것입니다. SELinux는 CentOS 4 이상에서 기본적으로 활성화되어있는 것으로 보입니다. 또한 Fedora에서 SELinux가 동일한 문제 (결과적으로 Fedora에 대한 경험이 없음)를 활성화 시켰음을 발견했습니다.

SELinux를 비활성화하여이 문제를 해결했습니다. CentOSOS7 id의 경우 /etc/sysconfig/selinux 을 편집하고 SELINUX=enforcingSELINUX=disabled으로 변경하면됩니다. 그 후 나는 서버를 재부팅하고 문제가 해결되었다.