Laravelを使用していると、致命的なエラー(Syntax Errorや重複定義)を出してしまっても
うまいことハンドリングしてwoopsしてくれると思います。
そして、エラーはlaravel.logにも残ってくれます。
普段はこれらを参考に試行錯誤している方が多いかと思います。
しかしこの度、エラー画面も出ず、ログにもなにもでないで停止する症状に遭遇したため紹介します。
症状
- viewの描画中、途中で切れる
- ログには何もない
原因
再帰コールで無限ループが発生していた
昔はコールスタック超えたらそれはそれでエラーとして扱ってくれた気がするが今回はそのようなことはなし
5.5で確認。
おまけ
Internal server error 500
が出るときはLaravelが原因のエラーな事は少ない
まず、error_log (apache)、または php_fpm.log (FPMの場合)などを見れば原因が書いてある事が多い。
よく遭遇するのは
- htaccess が原因 (この前は -MultiViews が機能しないサーバ(Conoha WING)で死んだ
- PHPのパーミッション問題(共用サーバだとたまにある)
です