当然、core.phpの'debug'は、「0」にしています。
エラー時のStatck Traceと一緒にMysql.php内のDBへの接続情報(DB名、パスワードホスト名)つまり、database.phpの重要情報が表示されてしまいます。
いろいろ調べて見た結果、core.phpの「Configure::write('Error', …」のlevelキーのE_ALLにチルダを付けてやることでtraceは出ないということがわかりました。
「この設定をしてもちゃんとerror.logには書かれるし、debug=2にした場合、ブラウザにも表示されるようなのでとりあえずは良しとします。」
(でもドキュメントを見ると、debug=0にしたときは、internal error になると書いてあるんだけど。てことは、errorのviewが表示されると思うんだけど…。違うのか?)
これは、levelキーに設定したエラーレベルの時にトレースに出力するという意味になるんでしょうか?
誰かお分かりの人がいましたら、アドバイスをお願いします。
変更前
- Configure::write('Error', array(
- 'handler' => 'ErrorHandler::handleError',
- 'level' => E_ALL & ~E_DEPRECATED,
- 'trace' => true
- ));
変更後
- Configure::write('Error', array(
- 'handler' => 'ErrorHandler::handleError',
- 'level' => ~E_ALL & ~E_DEPRECATED,
- 'trace' => true
- ));
0 件のコメント:
コメントを投稿