Cakeを触り始めてもうすぐ半年
色々とわかってきた気がするぞー
んでCakeアプリを本番環境で動かす時の話なんですが。
core.phpのdebugを0(運用モード)にしておけば、どんなエラーが発生しようとも絶対表には出さない安全仕様。
memory_limitにひっかかって落ちてもログファイルには何ひとつ記録されないとかCake様超ステキ。
FWの動作が気に食わねぇなら手前で書き直しやがれ何の為のLLだ!?
と誰かに言われた気がしたので調べてみたよ。
バージョンは1.2.4です。
cake/libs/configure.php
293行目あたり
if (isset($config[‘debug’])) {
if ($_this->debug) {
error_reporting(E_ALL);
if (function_exists(‘ini_set’)) {
ini_set(‘display_errors’, 1);
}
if (!class_exists(‘Debugger’)) {
require LIBS . ‘debugger.php’;
}
if (!class_exists(‘CakeLog’)) {
require LIBS . ‘cake_log.php’;
}
Configure::write(‘log’, LOG_NOTICE);
} else {
error_reporting(0);
Configure::write(‘log’, LOG_NOTICE);
}
}
ここでerror_reporting(0)されてますねー
こいつをどうにかした上でdisplay_errorsとかlog_errorsをどうにかしてやれば
無事にログだけ記録されるようになりましたとさ。