小编典典

Laravel在CentOS上的权限问题

linux

我已经将laravel存储库克隆到了CentOS 7盒中。当我尝试运行它时,出现500错误,但未显示任何内容。

因此,我进行了检查,/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之前输入了一些错误的命令,这些命令似乎将日志添加到日志文件中。


阅读 532

收藏
2020-06-02

共1个答案

小编典典

原来问题出在 selinux

我找到了答案,解决了我的问题。

通过关闭selinux命令来证明这是问题所在

setenforce 0

这应该允许写入,但是您已关闭了服务器范围内添加的安全性。那很糟。退回SELinux

setenforce 1

然后最后使用SELinux允许使用此命令写入文件

chcon -R -t httpd_sys_rw_content_t storage

而你走了!

2020-06-02