この問題に関する Q&A はたくさんあります:
"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
希望は助けになる