CakePHP3の404/500ページ

エラー出力のレベルは開発時と運用時で随分違ってくるのですが、開発中のデバックモード時にはすべてのエラーをデフォルトのまま使うのがいいです。いろいろなヒントも出してくれるしサンプルコードを出してくれたりもするからです。本番公開時以降の運用では基本404と500があればいいんじゃないかというCakePHP3の意図が見えるのでそれにしたがってやるのが吉です。(細やかなエラーメッセージを運用中にも表示させたいという場合はデバックモードにてそれぞれのエラーテンプレートをカスタマイズしてあげる必要があります。可能は可能だけど、セキュリティー的にもあんまり普通やらないです。)
config/app.phpの設定を以下のように変更します。

開発時

'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),

この設定ではかなり細かいエラーメッセージが出ます。Missing Controllerとか、テンプレートがないとか、Sintax Errorみたいな感じとかいろいろ。

本番/運用

'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),

404と500に集約されます。やり方によっては404にも統一できます。普通に考えて404は404でシステムエラー系を500に集めればよいかと思います。でログなんかを裏側で詳しくとればよいかと思います。

Last update: 2016.05.30 (月)