

CakePHPを利用した開発環境で、NoticeやWarningログをWEB上に表示したいのですが、どうしても巧く行きません。

**実行環境**  
CakePHP 2.2  
PHP 5.3

**確認、実行した内容**  
・phpinfoでのチェック  
display_errors項目が、Local Valueではoff、Master Valueではonになっています。

・php.ini  
error_reporting = E_ALL  
display_errors = On  
上記設定でコメント外れています

・httpd.conf  
php_flag display_errors on  
こちらをconfファイルの上部あるいは最下部に入れてもエラーは表示されず

・htaccessファイル  
CakePHPソース内のhtaccessを確認しましたが、PHPエラーを非表示にする記述は見当たらず、また、php_flag display_errors
onを設定しても変化なし。

・CakePHP側  
core.phpのDEBUGモードを1ないし2ないし3に設定しても画面には表示されず。  
logフォルダ下のログファイルには、NoticeやWarningは記録されていますが、これを画面上で確認できるようにしたい……。

・PHPファイルへの記述  
ini_set('display_errors', 'On');  
これをPHPファイル頭に記述しても画面には表示されず。

ここまで確認したのですが、ログファイルには記録されても、どうしても画面にエラーが表示されません。  
手詰まりになってしまったのですが、他に考えられる原因は無いでしょうか……。  
宜しくお願い致します。


CC BY-SA 4.0
2017-05-14T20:11:29.263
34710
2023-07-31T09:08:10.943
2018-12-20T03:08:23.677
3060
10463
question
php cakephp
NoticeやWarningログをWEB上に表示したい


CakePHPでは `Configure::write()` メソッドで `debug` オプションを書き換える際に、  
`display_errors` も更新します。

CakePHP2系:
<https://github.com/cakephp/cakephp/blob/2.x/lib/Cake/Core/Configure.php#L168>  
CakePHP3系:  
<https://github.com/cakephp/cakephp/blob/917f876168e4b5af2a787f3d17b7659c1f4cb679/src/Core/Configure.php#L99>

`Configure::write('debug', false)` の記述があれば、 `display_errors=0` となります。

2系であれば、`Config/core.php`、 3系であれば、`config/app.php` の `debug` の値を確認してください。  
ただし、それ以外の場所で、Configure::writeメソッドにより変更されている場合もあります。また、3系ではコードに記述のある通り、`DEBUG`という環境変数に依存します。

なお、開発環境であれば、 debug=true で問題ありませんが、本番環境では debug=false に忘れずに変更しましょう。


CC BY-SA 3.0
2017-05-15T01:44:35.337
34713
2017-05-15T01:50:08.987
2017-05-15T01:50:08.987
2668
2668
34710
answer