PHP エラー関数 リファレンス
PHP エラー関数について
エラー関数は、エラー処理とログ用に使用されます。
エラー関数を使用すると、独自のエラーハンドリングルールを定義し、エラーのログ記録方法を変更できます。
ログ記録関数を使用すると、メッセージを他のコンピューターやメール、またはシステムログに直接送信できます。
エラーレポート関数を使用すると、エラーフィードバックのレベルと種類をカスタマイズできます。
インストール
PHP エラー関数はPHPに標準で組み込まれています。したがってエラー関数を使用するためのインストールは必要ありません。
ランタイム設定
エラー関数の動作は、php.ini の設定によって影響を受けます。
エラーとログ設定オプション:
名前 | デフォルト | 説明 | 変更可能 |
---|---|---|---|
error_reporting |
NULL | エラーレポートレベルを設定します(整数または名前付き定数) | PHP_INI_ALL |
display_errors |
“1” | エラーを画面に表示するか、ユーザーに隠すかを指定します。 注意: この機能は本番システムでは決して使用しないでください(開発サポートのみに使用してください) |
PHP_INI_ALL |
display_startup_errors |
“0” | display_errors がオンの場合でも、PHP のスタートアップシーケンス中に発生するエラーは表示されません。 注意: デバッグ以外の目的で display_startup_errors をオフにすることを強くお勧めします |
PHP_INI_ALL |
log_errors |
“0” | スクリプトエラーメッセージをサーバーのエラーログまたは error_log に記録するかを定義します。 注意: 本番ウェブサイトではエラーログ記録を使用することを強くお勧めします |
PHP_INI_ALL |
log_errors_max_len |
“1024” | log_errors の最大長をバイト単位で設定します。値 “0” を使用すると、最大長が適用されません。この長さは、ログエラー、表示エラー、および $php_errormsg にも適用されます(PHP 4.3 以降利用可能) | PHP_INI_ALL |
ignore_repeated_errors |
“0” | 繰り返しエラーメッセージをログに記録するかを指定します。”1″ に設定すると、同じファイルの同じ行で発生した繰り返しエラーはログに記録されません(PHP 4.3 以降利用可能) | PHP_INI_ALL |
ignore_repeated_source |
“0” | 繰り返しエラーメッセージをログに記録するかを指定します。”1″ に設定すると、異なるファイルまたはソース行で発生した繰り返しエラーはログに記録されません(PHP 4.3 以降利用可能) | PHP_INI_ALL |
report_memleaks |
“1” | “1”(デフォルト)に設定すると、Zend メモリマネージャーによって検出されたメモリリークのレポートが表示されます(PHP 4.3 以降利用可能) | PHP_INI_ALL |
track_errors |
“0” | “1” に設定すると、最後のエラーメッセージが常に変数 $php_errormsg に存在します | PHP_INI_ALL |
html_errors |
“1” | エラーメッセージ内の HTML タグをオフにします | PHP_INI_ALL PHP_INI_SYSTEM は PHP <= 4.2.3 で適用 |
xmlrpc_errors |
“0” | 通常のエラーレポートをオフにし、エラーを XML-RPC エラーメッセージとしてフォーマットします(PHP 4.1 以降利用可能) | PHP_INI_SYSTEM |
xmlrpc_error_number |
“0” | XML-RPC faultCode 要素の値として使用されます(PHP 4.1 以降利用可能) | PHP_INI_ALL |
docref_root |
“” | (PHP 4.3 以降利用可能) | PHP_INI_ALL |
docref_ext |
“” | (PHP 4.3.2 以降利用可能) | PHP_INI_ALL |
error_prepend_string |
NULL | エラーメッセージの前に出力する文字列を指定します | PHP_INI_ALL |
error_append_string |
NULL | エラーメッセージの後に出力する文字列を指定します | PHP_INI_ALL |
error_log |
NULL | スクリプトエラーをログに記録するファイルの名前を指定します。ファイルはウェブサーバーのユーザーによって書き込み可能である必要があります。特別な値 syslog が使用される場合、エラーはシステムロガーに送信されます | PHP_INI_ALL |
PHP エラーとログ関数
関数 | 説明 |
---|---|
debug_backtrace() |
バックトレースを生成します |
debug_print_backtrace() |
バックトレースを表示します |
error_clear_last() |
最後のエラーをクリアします |
error_get_last() |
最後に発生したエラーを返します |
error_log() |
エラーメッセージをログ、ファイル、またはメールアカウントに送信します |
error_reporting() |
報告されるエラーを指定します |
restore_error_handler() |
以前のエラーハンドラを復元します |
restore_exception_handler() |
以前の例外ハンドラを復元します |
set_error_handler() |
ユーザー定義のエラーハンドラ関数を設定します |
set_exception_handler() |
ユーザー定義の例外ハンドラ関数を設定します |
trigger_error() |
ユーザーレベルのエラーメッセージを作成します |
user_error() |
trigger_error() のエイリアス |
PHP 事前定義エラーおよびログ定数
値 | 定数 | 説明 |
---|---|---|
1 | E_ERROR |
致命的なランタイムエラー。回復不可能なエラー。スクリプトの実行が停止します |
2 | E_WARNING |
ランタイム警告(致命的でないエラー)。スクリプトの実行は停止しません |
4 | E_PARSE |
コンパイル時のパースエラー。パースエラーはパーサによってのみ生成されます |
8 | E_NOTICE |
ランタイム通知。スクリプトはエラーである可能性があるものを発見しましたが、通常のスクリプト実行時にも発生する可能性があります |
16 | E_CORE_ERROR |
PHP の起動時に発生する致命的なエラー。これは E_ERROR と同様ですが、PHP のコアによって生成されます |
32 | E_CORE_WARNING |
PHP の起動時に発生する致命的でないエラー。これは E_WARNING と同様ですが、PHP のコアによって生成されます |
64 | E_COMPILE_ERROR |
致命的なコンパイル時エラー。これは E_ERROR と同様ですが、Zend スクリプティングエンジンによって生成されます |
128 | E_COMPILE_WARNING |
致命的でないコンパイル時エラー。これは E_WARNING と同様ですが、Zend スクリプティングエンジンによって生成されます |
256 | E_USER_ERROR |
致命的なユーザー生成エラー。これは E_ERROR と同様ですが、PHP コード内で trigger_error() 関数を使用して生成されます |
512 | E_USER_WARNING |
致命的でないユーザー生成警告。これは E_WARNING と同様ですが、PHP コード内で trigger_error() 関数を使用して生成されます |
1024 | E_USER_NOTICE |
ユーザー生成通知。これは E_NOTICE と同様ですが、PHP コード内で trigger_error() 関数を使用して生成されます |
2048 | E_STRICT |
PHP のコード互換性を最適化し、将来の互換性を確保するための変更を提案するために使用されます(PHP 5 以降。ただし、PHP 5.4 まで E_ALL には含まれません) |
4096 | E_RECOVERABLE_ERROR |
キャッチ可能な致命的なエラー。エンジンが不安定な状態にならない可能性が高いエラーを示します。エラーがユーザー定義のハンドラによってキャッチされない場合、アプリケーションは E_ERROR のように中止されます(PHP 5.2 以降) |
8192 | E_DEPRECATED |
ランタイム通知。将来のバージョンで動作しなくなるコードについて警告を受けるために有効にします(PHP 5.3 以降) |
16384 | E_USER_DEPRECATED |
ユーザー生成警告メッセージ。これは E_DEPRECATED と同様ですが、PHP コード内で trigger_error() 関数を使用して生成されます(PHP 5.3 以降) |
32767 | E_ALL |
すべての PHP エラーと警告を有効にします(PHP 5.4 以降 E_STRICT を除く) |