這個問題有很多問答:
"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
希望有幫助