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
を動かしているのが、
スーパーユーザーになっていて、
これで動いているスケジューラーの処理が、
その日の最初に動いた場合は、
このスーパーユーザーでログが作成され、
表示側は一般ユーザーにしていたので、
権限がなくて、エラーになり、
さらにログに何も出力されていなかったという状態と考えられる。
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。