PHP Error および Logging関数


PHP Error および Logging の概要

Error および Logging 関数を使用すると、エラーの処理と記録を行うことができます。

Error 関数を使用すると、ユーザーはエラー処理ルールを定義し、エラーを記録する方法を変更できます。

Logging 関数を使用すると、ユーザーはアプリケーションのログ記録を行い、ログメッセージを電子メール、システムログ、または他のマシンに送信できます。


実行時設定

error 関数は php.ini 構成ファイルの影響を受けます。

エラーおよびログ構成オプション:

パラメータ デフォルト値 説明 変更可能な範囲
error_reporting NULL PHP のエラーレベルを設定し、現在のレベル(数値または定数)を返します。 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 の最大バイト数を設定します。error_log にはエラーソースに関する情報が追加されます。デフォルト値は 1024 で、0 に設定すると長さ無制限を意味します。この長さ設定は、記録されるエラー、表示されるエラー、および $php_errormsg に影響を及ぼします。 PHP_INI_ALL
ignore_repeated_errors "0" 重複する情報は記録されません。ignore_repeated_source が true に設定されていない限り、重複するエラーは同じファイルの同じコード行に存在する必要があります。 PHP_INI_ALL
ignore_repeated_source "0" 重複メッセージを無視する場合、メッセージのソースも無視されます。この設定がオンの場合、重複情報は別のファイルや別のソースコード行によって生成されたものとしては記録されません。 PHP_INI_ALL
report_memleaks "1" このパラメータが Off に設定されている場合、メモリリーク情報は表示されません (stdout またはログ内で)。 PHP_INI_ALL
track_errors "0" オンにすると、最後のエラーが常に変数 $php_errormsg に格納されます。 PHP_INI_ALL
html_errors "1" エラー情報内の HTML タグを無効にします。 PHP_INI_ALL
PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors "0" 通常のエラー報告を無効にし、エラーの形式を XML-RPC エラー情報の形式に設定します。 PHP_INI_SYSTEM
xmlrpc_error_number "0" XML-RPC faultCode 要素の値として使用されます。 PHP_INI_ALL
docref_root "" 新しいエラー情報形式には、エラーを具体的に説明するか、エラーの原因となった関数を説明する、対応するリファレンスページが含まれます。
マニュアルのページを提供するには、PHP 公式サイトから対応する言語のマニュアルをダウンロードし、ini で URL をローカルの対応するアドレスに設定できます。
ローカルのマニュアルのコピーに "/manual/" でアクセスできる場合は、docref_root=/manual/ と簡単に設定できます。
さらに、docref_ext をローカルファイルの拡張子に一致するように設定する必要があります (docref_ext=.html)。もちろん、外部のリファレンスアドレスを設定することもできます。
たとえば、docref_root=http://manual/en/ または docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F" を設定できます。
PHP_INI_ALL
docref_ext "" docref_root を参照してください。 PHP_INI_ALL
error_prepend_string NULL エラー情報の前に出力される内容。 PHP_INI_ALL
error_append_string NULL エラー情報の後に出力される内容。 PHP_INI_ALL
error_log NULL スクリプトエラーが記録されるファイルを設定します。このファイルは Web サーバーユーザーが書き込み可能である必要があります。 PHP_INI_ALL

インストール

Error および Logging 関数は PHP コアの構成要素です。インストールせずにこれらの関数を使用できます。


PHP Error および Logging 関数

PHP:この関数をサポートする最初の PHP バージョンを示します。

関数 説明 PHP
debug_backtrace() backtrace を生成します。 4
debug_print_backtrace() backtrace を出力します。 5
error_get_last() 最後に発生したエラーを取得します。 5
error_log() サーバーのエラーログ、ファイル、またはリモートターゲットにエラーを送信します。 4
error_reporting() どのエラーを報告するかを指定します。 4
restore_error_handler() 以前のエラーハンドラを復元します。 4
restore_exception_handler() 以前の例外ハンドラを復元します。 5
set_error_handler() ユーザー定義のエラー処理関数を設定します。 4
set_exception_handler() ユーザー定義の例外処理関数を設定します。 5
trigger_error() ユーザー定義のエラーメッセージを作成します。 4
user_error() trigger_error() のエイリアス。 4


PHP Error および Logging 定数

PHP:この定数をサポートする最初の PHP バージョンを示します。

值 定数 説明 PHP
1 E_ERROR 実行時の致命的なエラー。修復できないエラー。スクリプトの実行を停止します。
2 E_WARNING 実行時の非致命的なエラー。スクリプトの実行を停止しません。
4 E_PARSE コンパイル時の解析エラー。解析エラーはパーサーによってのみ生成されるべきです。
8 E_NOTICE 実行時の通知。スクリプトがエラーの可能性を発見しましたが、スクリプトが正常に実行されているときにも発生する可能性があります。
16 E_CORE_ERROR PHP 起動時の致命的なエラー。これは PHP コアの E_ERROR と同じです。 4
32 E_CORE_WARNING PHP 起動時の非致命的なエラー。これは PHP コアの E_WARNING と同じです。 4
64 E_COMPILE_ERROR コンパイル時の致命的なエラー。これは Zend スクリプトエンジンによって生成される E_ERROR と同じです。 4
128 E_COMPILE_WARNING コンパイル時の非致命的なエラー。これは Zend スクリプトエンジンによって生成される E_WARNING と同じです。 4
256 E_USER_ERROR ユーザー生成の致命的なエラー。これはプログラマーが PHP 関数 trigger_error() を使用して生成する E_ERROR と同じです。 4
512 E_USER_WARNING ユーザー生成の非致命的なエラー。これはプログラマーが PHP 関数 trigger_error() を使用して生成する E_WARNING と同じです。 4
1024 E_USER_NOTICE ユーザー生成の通知。これはプログラマーが PHP 関数 trigger_error() を使用して生成する E_NOTICE と同じです。 4
2048 E_STRICT 実行時の通知。PHP は、コードの相互運用性と互換性を向上させるためにコードを変更することを推奨します。 5
4096 E_RECOVERABLE_ERROR 捕捉可能な致命的なエラー。これはユーザー定義のハンドラで捕捉できる E_ERROR と同じです (set_error_handler() を参照)。 5
6143 E_ALL すべてのエラーと警告のレベル。ただし E_STRICT を除きます (PHP 6.0 以降、E_STRICT は E_ALL の一部になります)。 5
その他の拡張機能