0
0

laravelでthe stream or file /var/www/html/storage/logs/laravel.logエラーが出たときの対処

Last updated at Posted at 2024-07-23

docker環境でローカルホストを開いたときにthe stream or file /var/www/html/storage/logs/laravel.log(以下略)というエラーが表示された

エラーの意味

大まかな意味としてはlaravel上でログファイルへの書き込みが失敗していますよ〜という意味らしい。

考えられる原因

パーミッションの問題:ログファイルのパーミッションが正しく設定されていない。Webサーバーのユーザー(例えば、ApacheやNginxなど)が書き込み権限を持つ必要がある

ログファイルが存在しない:そもそもログファイルが存在していない場合。

上記の2点が原因として考えられると思いますが今回はエラーメッセージにpermission deniedと表示されていたのでパーミッションの問題かと考えられます。ログファイルも(storage/logs)にしっかりと存在していました。

対処法

1.ターミナル(プロジェクト直下)でsudo chmod o+w ./storage/ -Rを入力

2.続けてsudo chown www-data:www-data -R ./storageを入力

結果

ローカルホストが無事表示されました!他の方の記事で同じようなものがあるのですがそちらでは解決しなかったため執筆しました!今回のコードの簡単な解説を下に記載しておきますのでコードの意味など興味あればご覧ください

簡単に解説

sudo chmod o+w ./storage/ -Rを分解説明

sudo :ご存知の通りLinuxなどで特権(root権限)を持ったユーザーとしてコマンドを実行する。superuser doの略

chmod :ファイルやディレクトリの権限を変更するコマンド。change modeの略

o+w : 「o」は「others」(他のユーザー)のことで、「+w」は書き込み権限を付与するオプション。つまり、このコマンドは「./storage/」ディレクトリ以下のすべてのファイルとディレクトリに対して、他のユーザーに書き込み権限を付与する操作を行います。(「./」は現在のディレクトリから見た相対パスでlogsはstorage配下にあるためこの記載です)

-R : 「-R」は、再帰的(recursive)という意味です。

www-data : ここで指定している「www-data」は、所有者とグループを表します。具体的には、所有者を「www-data」ユーザー、グループを「www-data」グループに変更することを意味します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0