PHP Error と Logging 関数
- 前のページ PHP ディレクトリ
- 次のページ PHP Filesystem
PHP Error 概要
ErrorおよびLogging関数は、エラーの処理と記録を行うのに許可されます。
Error関数は、エラーハンドリングルールを定義し、エラーレコーディング方法を変更するのに許可されます。
logging関数は、ユーザーがアプリケーションにログを記録し、ログメッセージを電子メール、システムログまたは他のマシンに送信するのに許可されます。
error関数は、エラーハンドリングとログ記録を完了するために使用されます。
error関数は、独自のエラーハンドリングルールを定義し、エラーレコーディング方法を変更するのに許可されます。
logging関数は、メッセージを直接他のマシン、電子メールまたはシステムログに送信するのに許可されます。
error reporting関数は、エラータイプとレベルを指定するのに許可されます。
インストール
PHP error関数はPHPのコアの一部です。インストールすることなく使用できます。
ランタイム設定
error関数の動作は php.ini での設定に影響されます。
Errorsおよびloggingの設定オプションは以下の通りです:
名称 | デフォルト値 | 説明 | 変更可能範囲 |
---|---|---|---|
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 の最大バイト数を設定します。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" | このパラメータがOn(デフォルト)に設定されている場合、Zendメモリ管理器が検出したメモリリークレポートを表示します。 | PHP_INI_ALL |
track_errors | "0" | 有効化されている場合、最後のエラーは常に変数$php_errormsgに存在します。 | PHP_INI_ALL |
html_errors | "1" | エラーメッセージからHTMLタグを閉じます。 |
|
xmlrpc_errors | "0" | 有効化されている場合、通常のエラーレポートを無効にし、エラーの形式をXML-RPCエラーメッセージの形式に設定します。 | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | XML-RPC faultCodeエレメントの値として使用されます。 | 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 Error と Logging 関数
関数 | 説明 |
---|---|
debug_backtrace() | backtraceを生成します。 |
debug_print_backtrace() | backtraceをプリントします。 |
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 5のプレ定義エラーやログ定数
値 | 定数 | 説明 |
---|---|---|
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コードの修正提案を有効にすることで、最高の互換性と将来の互換性を確保します。 |
4096 | E_RECOVERABLE_ERROR | キャッチ可能な致命的なエラー。非常に危険なエラーが発生したことを示しますが、PHP エンジンが不安定になるまでには至っていません。 このエラーがユーザーがカスタムハンドラにキャッチされていない場合(set_error_handler() を参照)、E_ERROR として成り立ち、スクリプトの実行が中止されます。 |
8192 | E_DEPRECATED | 実行時の通知。有効化すると、将来のバージョンで正常に動作しない可能性があるコードに対して警告を出します。 |
16384 | E_USER_DEPRECATED | ユーザーが生成する警告情報。E_DEPRECATED に似ていますが、ユーザーが PHP 関数 trigger_error() をコードで使用して生成します。 |
32767 | E_ALL | E_STRICT によるすべてのエラーと警告情報(その他のすべてのエラーと警告情報を除く)。 |
- 前のページ PHP ディレクトリ
- 次のページ PHP Filesystem