Laravel Permission deniedエラーの原因と解決方法

Dockerを使ってLaravelで作成したビューにローカルホストでアクセスしようとしたら以下のエラーが発生した。

The stream or file "/var/www/html/fictionalgirls/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied

 

エラーの原因

「ストリームまたはファイル「/var/www/html/fictionalgirls/storage/logs/laravel.log」を追加モードで開くことができませんでした:ストリームを開くことができませんでした:アクセスが拒否されました」

Google翻訳曰く、アクセスが拒否されたとのこと。

つまりは権限が付与されていませんという意味なので、権限を付与してあげれば問題ない。

 

エラーの解決方法

権限を付与するには、まず使用しているDockerコンテナ内に入る。

$ docker-compose exec app bash

次に以下のコマンドで権限を付与する。

# chown www-data storage/ -R

 

これで再度ローカルホストにアクセスすると表示される。