ねっとぱんだ-プログラミング勉強ブログ-

Webデザイン、プログラミングの勉強ブログ。

【php】phpのエラー

PHPのエラー

大きく分けて3つ

パースエラー(シンタックスエラー)
文法を間違っている場合。
一行も実行されない。
実行時のエラー
実行が中断されるエラー(Fatal Error致命的なエラー)
問題のある点でエラーになり実行が止まる。
未定義の関数を呼び出そうとしたときなど
警告・注意
実行はするが警告される(Warning,Notice)
そのまま実行される。

エラーの重要度

  1. E_PARSE
  2. E_ERROR
  3. E_WARNING
  4. E_NOTICE
  5. E_DEPRECATED
  6. E_STRICT

エラーの種類

E_DEPRECATED,E_STRICT
コーディング規約に関する問題や将来的に廃止になる機能への警告
古いプロジェクトで発生しがち。その場合はエラーを報告しないようにする。
コーディング規約
多数のプログラマが参加するプロジェクトにおいて、プログラミング品質を均等にするために定める文書
https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwiFu7D7l73UAhXKy7wKHW5bAdIQFgglMAE&url=http%3A%2F%2Fqiita.com%2Ftadnakam%2Fitems%2F5d1280559eb75b29847c&usg=AFQjCNER9MsJTPZ_7l1AQzkE3SWT991ntg
E_PARSE
シンタックス(構文規則)エラー
E_ERROR
実行時の致命的なエラー
E_WARNING
実行時の警告
E_NOTICE
E_WORNINGよりも重要度の低い警告
E_DEPRECATED
現行では非推奨になったものに対するエラー。警告が出ても実際に廃止になるまでは実行される。
E_STRICT
変更した方がいい記述に対するエラー。

ユーザーエラー

E_USER_ERROR
ユーザー定義の致命的なエラー
E_USER_WARNING
ユーザー定義の重要な警告
E_USER_NOTICE
ユーザー定義の警告
E_USER_DEPRECATED
ユーザー定義の廃止予定の機能の警告

エラーの設定

error_reporting

どのエラーを報告するかの設定

//全てのエラーを報告
error_reporting = E_ALL
//E_NOTICEとE_DEPRECATED以外は全て報告
error_reporting = E_ALL^E_NOTICE^E_DEPRECATED
//E_STRICTを含むすべてのエラーを報告
error_reporting = E_ALL|E_STRICT
|php|<
:公式サイト:http://php.net/manual/ja/function.error-reporting.php
***display_errors
発生したエラーをどう表示するかを制御
On/Off/Stderrを設定
>|php|
display_errors = On
log_errors

エラーをログに出力するかどうか

log_errors = On
error_log

ファイル名を指す

//display_errorsをOffにした状態でもエラーを把握できる logrotate設定なども確認)
error_log = /var/log/php.log