TECH I.S.

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のどちらに記録するかを定義します。

注:本番Web サイトでエラーを表示する代わりに、エラーログを使用することを強くお勧めします。

PHP_INI_ALL
log_errors_max_len 「1024」 log_errorsの最大長をバイト単位で設定します。値「0」を使用して、最大長をまったく適用しないようにすることができます。この長さは、ログに記録されたエラー、表示されたエラー、および$php_errormsg(PHP4.3以降で使用可能)に適用されます。 PHP_INI_ALL
ignore_repeated_errors 「0」 繰り返されるエラー メッセージをログに記録するかどうかを指定します。 「1」に設定すると、同じ行の同じファイルからのエラーが繰り返されるエラーはログに記録されません (PHP4.3 以降で使用可能)。 PHP_INI_ALL
ignore_repeated_source 「0」 繰り返されるエラー メッセージをログに記録するかどうかを指定します。 「1」に設定すると、異なるファイルまたはソース行から繰り返されるエラーをログに記録しません(PHP4.3以降で使用可能)。 PHP_INI_ALL
report_memleaks 「1」 "1"(デフォルト)に設定すると、このパラメータはZendメモリマネージャ(PHP4.3以降で利用可能)によって検出されたメモリ リークのレポートを表示します。 PHP_INI_ALL
track_errors 「0」 「1」に設定すると、最後のエラー メッセージが変数 $php_errormsgに常に存在します。 PHP_INI_ALL
html_errors 「1」 エラー メッセージのHTMLタグをオフにします PHP_INI_ALL

PHP <= 4.2.3 の PHP_INI_SYSTEM

xmlrpc_errors 「0」 通常のエラー報告をオフにし、エラーをXML-RPCエラー メッセージとしてフォーマットします(PHP4.1以降で使用可能)。 PHP_INI_SYSTEM
xmlrpc_error_number 「0」 XML-RPC faultCode要素の値として使用されます(PHP4.1 以降で使用可能) PHP_INI_ALL
docref_root "" (PHP4.3以降で利用可能) PHP_INI_ALL
docref_ext "" (PHP4.3.2以降で利用可能) PHP_INI_ALL
error_prepend_string エラーメッセージの前に出力する文字列を指定します PHP_INI_ALL
error_append_string NULL エラーメッセージの後に出力する文字列を指定します PHP_INI_ALL
error_log NULL スクリプトエラーが記録されるファイルの名前を指定します。このファイルは、Webサーバーのユーザーが書き込み可能である必要があります。特別な値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()td> ユーザー定義のexception_handler()関数を設定します
trigger_error() ユーザーレベルのエラーメッセージを作成します
user_error() trigger_error()のエイリアス

PHPの定義済みエラーおよびログ定数

value

constant

説明

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 致命的なコンパイル時エラー。これは、Zend Scripting Engineによって生成されることを除いて、E_ERRORに似ています。
128 E_COMPILE_WARNING 致命的ではないコンパイル時エラー。これは、Zend Scripting Engineによって生成されることを除いて、E_WARNINGに似ています。
256 E_USER_ERROR 致命的なユーザー生成エラー。これはE_ERRORに似ていますが、PHP関数trigger_error()を使用してPHPコードで生成される点が異なります。
512 E_USER_WARNING 致命的ではないユーザー生成の警告。これは E_WARNING に似ていますが、PHP関数trigger_error()を使用してPHP コードで生成される点が異なります。
1024 E_USER_NOTICE ユーザー生成の通知。これは E_NOTICEに似ていますが、PHP関数trigger_error()を使用してPHPコードで生成される点が異なります。
2048 E_STRICT コードの最適な相互運用性と前方互換性を保証するコードへの変更をPHPが提案できるようにします(PHP5以降ですが、PHP5.4までE_ALLには含まれていません)。
4096 E_RECOVERABLE_ERROR キャッチ可能な致命的なエラー。おそらく危険なエラーが発生しましたが、エンジンが不安定な状態のままではなかったことを示します。エラーがユーザー定義のハンドルによってキャッチされない場合、アプリケーションはE_ERRORとして中止されます (PHP5.2以降)。
8192 E_DEPRECATED 実行時の通知。これを有効にすると、将来のバージョンで動作しないコードに関する警告が表示されます(PHP5.3以降)
16384 E_USER_DEPRECATED ユーザー生成の警告メッセージ。これはE_DEPRECATED に似ていますが、PHP関数trigger_error()を使用してPHPコードで生成される点が異なります (PHP 5.3 以降)。
32767 E_ALL すべての PHP エラーと警告を有効にします (バージョン < 5.4のE_STRICT を除く)


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細