针对这个问题有很多问答:
"storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
正确的解决方案是为正确的所有者和组设置正确的权限。所以我这样做了:
Nginx 组nginx
如nginx -V
输出所示:
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: ... --user=nginx --group=nginx ...
我的文件和目录的组设置为nginx
:
sudo chown -R $USER:nginx /path/to/project
我为目录设置了 755,为文件设置了 644:
sudo find /path/to/project -type f -exec chmod 664 {} \;
sudo find /path/to/project -type d -exec chmod 775 {} \;
然后我将 775 设置为storage
:
sudo chmod -R 775 storage
因此我确认storage/logs/laravel.log
权限是775
或-rwxrwxr-x
。
但我仍然收到此文件的权限被拒绝错误。我尝试将所有者更改为,nginx
但没有成功,而且,我selinux
完全禁用了它。
有什么建议么?
(或者应该将其发布在 stackoverflow.com 上?)
答案1
我用这一行修复了我的问题:
chown -R www-data:www-data storage
希望有帮助