Laravelで内部エラー(500エラー)になるけれど、何もログが出力されなかった時のメモ

Laravelを使用して運用していく中で、

日頃は特に運用していても、エラーが起きていなかった。

そんな中で、ある日、

システムエラーになるけれども、

「確認しようとログを出そうとしても出力されない」

ということが起きた時の対応メモ。

Laravelで内部エラー(500エラー)になるけれど、何もログが出力されなかった時のメモ

Laravelのバージョン

Laravelのバージョン

$ php artisan --version
Laravel Framework 8.29.0

公式サイト

公式サイトのリンクも参考までに。

前提:それまでの運用

それまでの運用自体は、

特にエラーが起こることもなく、

普段通りにシステムは稼働していた。

原因:ログのファイル権限

Laravelのログの権限を見ると、

root root laravel-2021-03-11.log

となっていた。

「あれ、通常に使っていると、こうなるのでは」

user user laravel-2021-03-11.log

と思っていたが、

なぜか、このログファイルだけ権限が違っていた。

対応:ログのファイル権限を調整

先ほどのログファイルの

root root laravel-2021-03-11.log

これを

user user laravel-2021-03-11.log

に変更して、

Laravelを動かすユーザーに変更。

これで解決した。

考察:ログのファイル権限に関して

なぜ、これが起こるのだろうと考えていたら、

自分が動かしている環境で、

crontabをスーパーユーザーで動かしていて、

Laravelの

php artisan schedule:run

を動かしているのが、

スーパーユーザーになっていて、

これで動いているスケジューラーの処理が、

その日の最初に動いた場合は、

このスーパーユーザーでログが作成され、

表示側は一般ユーザーにしていたので、

権限がなくて、エラーになり、

さらにログに何も出力されていなかったという状態と考えられる。

スキルを使って、就職/転職/副業する時のサイト

プログラミングのスキルなどを、自分なりに高めた上で、

自分のスキルをアピールして就職や転職を行い、年収をあげるか、

副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。

まずはできる範囲で取り組むことで、

少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。

おすすめ書籍

広告

おすすめ記事