我已经将laravel存储库克隆到了CentOS 7盒中。当我尝试运行它时,出现500错误,但未显示任何内容。
因此,我进行了检查,/var/log/httpd/error_log发现有一些权限错误:
/var/log/httpd/error_log
[Mon May 16 11:39:32.996441 2016] [:error] [pid 2434] [client 104.156.67.195:39136] PHP Fatal error: Uncaught UnexpectedValueException: The stream or file "/var/www/html/MYSITE/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /var/www/html/MYSITE/bootstrap/cache/compiled.php:13701 Stack trace: #0 /var/www/html/MYSITE/bootstrap/cache/compiled.php(13635): Monolog\\Handler\\StreamHandler->write(Array) #1 /var/www/html/MYSITE/bootstrap/cache/compiled.php(13396): Monolog\\Handler\\AbstractProcessingHandler->handle(Array) #2 /var/www/html/MYSITE/bootstrap/cache/compiled.php(13494): Monolog\\Logger->addRecord(400, Object(Symfony\\Component\\Debug\\Exception\\FatalErrorException), Array) #3 /var/www/html/MYSITE/bootstrap/cache/compiled.php(13189): Monolog\\Logger->error(Object(Symfony\\Component\\Debug\\Exception\\FatalErrorException), Array) #4 /var/www/html/MYSITE/bootstrap/cache/compiled.php(13160): Illuminate\\Log\\Writer->writeLog('error', Object(Symfony\\Component\\Debug\\Exception\\FatalErrorException), Array) # in /var/www/html/MYSITE/bootstrap/cache/compiled.php on line 13701
我做了以下尝试来克服这些问题:
chmod -R 775 storage chmod -R 775 vendor chown -R apache:apache storage
所以现在显示如下:
-rwxrwxr-x. 1 apache apache 2156 May 16 11:41 storage/logs/laravel.log
但这没有用。
有趣的是,我artisan之前输入了一些错误的命令,这些命令似乎将日志添加到日志文件中。
artisan
selinux
我找到了答案,解决了我的问题。
通过关闭selinux命令来证明这是问题所在 setenforce 0 这应该允许写入,但是您已关闭了服务器范围内添加的安全性。那很糟。退回SELinux setenforce 1 然后最后使用SELinux允许使用此命令写入文件 chcon -R -t httpd_sys_rw_content_t storage 而你走了!
通过关闭selinux命令来证明这是问题所在
setenforce 0
这应该允许写入,但是您已关闭了服务器范围内添加的安全性。那很糟。退回SELinux
setenforce 1
然后最后使用SELinux允许使用此命令写入文件
chcon -R -t httpd_sys_rw_content_t storage
而你走了!