php のエラーの種類は次のとおりです: 1. プログラム自体のエラー; 2. 未定義のシンボル; 3. オペレーティング システムによる違い; 4. PHP 設定の違い; 5. SAPI の違い; 6. 実行エラー; 7. PHP エラー; 8. エラー ハンドラーを定義します。
推奨: 「PHP ビデオ チュートリアル 」
PHP のエラー タイプ
1. プログラム自体のエラー
この種のエラーは、構文エラーやコンパイラが解析できないなど、比較的対処が容易なエラーであり、コンパイルに合格しません。コンパイル中に、エラー プロンプトに従って特定のエラー コードを見つけることができます。ただし、 eval() を使用して実行されたコードでエラーが発生した場合、コンパイル中にエラーを見つけることができません。コードが実行されてコンパイル中にエラーが発生するまで待つことしかできません。次のコードを実行すると、エラーが発生します。実行プロセス。エラー:
<?php echo "this will be echo to putty"; eval("php error when parser"); ?>
このエラーは、出力される前にエコーが発生するという点で他のコード エラーとは異なります。コンパイルが通過せず、実行されないため、他のコード エラーについては出力はありません。
2. 未定義のシンボル
PHP はコンパイル時に完全に理解していないため、PHP を実行すると、多くの未知の変数、関数、その他の名前が出現する可能性があります。すべてのシンボル名、関数名など。
未定義の定数または変数の場合、これは単なる通知です。ただし、未定義の関数またはクラスが見つかった場合、プログラムは終了します。見つからないクラスについては、ユーザーが __autoload という関数を定義すると、PHP が未定義のクラスに遭遇したときにこの関数が呼び出されます。この関数を通じてクラスを返すことができれば、新しくロードされたクラスが使用されます。エラーは生成されません。
3. 普遍的なエラー
3.1 オペレーティング システムによる違い
一部の PHP 関数は、特別なプラットフォームでのみ使用できます。
特定のプラットフォームでは使用できない一部の PHP 関数。
いくつかの PHP 関数は、プラットフォームごとに微妙な違いがあります。
ファイル名のパス構成要素を区別する文字。
外部プログラムまたはサービスは、すべてのプラットフォームで利用できるわけではありません。
3.2 PHP 設定の違い
たとえば、設定オプション magic_quotes_gpc がオンになっている場合、PHP はすべての外部データにスラッシュを追加します。現時点で、このオプションをオンにせずにプログラムを別のサーバーに移植すると、ユーザー入力に問題が発生します。同様の違いに対処する方法は、PHP コードをチェックし、ini_get() 関数を通じてオプションが有効になっているかどうかを確認し、統一した調整を行うことです。
register_globals: この設定は、PHP が GET、POST、Cookie、環境変数、またはサーバー変数をグローバル変数として導入するかどうかを決定します。一般的には避けられます。
allow_url_fopen: このオプションを false に設定すると、URL ファイルの操作機能がオフになります。
3.3 SAPI の違い
4. 操作エラー
たとえば、ハードディスク データやネットワーク操作、データベース呼び出しを行うときに、PHP 自体以外の要因によって引き起こされるエラーです。
5. PHP エラー
PHP のエラー メカニズムは、すべての PHP 組み込み関数によって使用され、通常、この単純なメカニズムにより、いくつかの基本的なエラー関連情報を含むエラー メッセージが出力されます。
エラー レベルは次のように分類されます。
E_ERROR:严重错误。 E_WARNING:最普通的错误类型。 E_PARSE:解析错误在编译的时候发生。 E_STRICT:这个错误级别是唯一不包含在E_ALL常量中的,为了让PHP4到PHP5的迁移更加容易。 E_NOTICE:表示运行的代码可能在操作一些未知的事情。 E_CORE_ERROR:由于扩展启动失败等导致的。 E_COMPILE_WARNING:编译的时候出现的警告,告诉用户一些不推荐使用的语法信息。 E_COMPILE_ERROR:编译错误。 E_USER_ERROR E_USER_WARNING 可以用error_reporting(Integer)函数来设置哪些错误被报告。如所有的错误,表示为E_ALL ,除了通告以外的所有错误,可以表示为E_ALL & ~E_NOTICE. display_errors(boolean):这个设置控制错误是否作为PHP输出的一部分显示出来。 log_errors(boolean),这个设置控制错误是否记录。日志的地址是通过error_log(String)设置决定的。默认情况下,错误被记录到WEB服务器的错误日志中。 html_errors(boolean):设置控制是否在错误信息中采用HTML格式 。
6、エラー ハンドラーの定義
set_error_handler(error_handle_function,error_types) を呼び出してエラー ハンドラーを指定できます。
function customError($errno, $errstr, $errfile, $errline) { echo "<b>Custom error:</b> [$errno] $errstr<br />"; } set_error_handler("customError"); // 默认为所有的错误,就是E_ALL.など
以上がPHPのエラーの種類は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。