ホームページ > バックエンド開発 > PHPチュートリアル > PHP エラーの種類_PHP チュートリアル

PHP エラーの種類_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:54:13
オリジナル
837 人が閲覧しました


1. プログラム自体のエラー

この種のエラーは、構文エラーやコンパイラーが解析できないなど、簡単に対処できるエラーであり、コンパイル中にコンパイルに合格しません。エラーに応じて特定のエラー コードを見つけることができます。プロンプトを表示します。ただし、 eval() を使用して実行されたコードでエラーが発生した場合、コンパイル中にエラーを見つけることはできません。コードが実行されてコンパイル中にエラーが発生するまで待つことしかできません。次のコードを実行すると、エラーが発生します。実行プロセスのエラー:


[php] plaincopy を表示
echo "これはパテへのエコーになります"; eval("パーサー時のphpエラー");
?>
このエラーと他のコード エラーの違いは、出力される前のエコーであることです。コンパイルが通過せず、実行されないため、他のコード エラーについては出力はありません。


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: PHP4 から PHP5 への移行を容易にするために、このエラー レベルは E_ALL 定数に含まれない唯一のエラー レベルです。

E_NOTICE: 実行中のコードが未知の何かを動作させている可能性があることを示します。

E_CORE_ERROR: 拡張機能の起動失敗などが原因です。

E_COMPILE_WARNING: コンパイル中に表示される警告で、推奨されない構文情報をユーザーに伝えます。

E_COMPILE_ERROR: コンパイル エラー。

E_USER_エラー

E_USER_警告

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) を呼び出してエラー ハンドラーを指定できます。

など

関数customError($errno, $errstr, $errfile, $errline)

{

echo "カスタム エラー: [$errno] $errstr
";

}

set_error_handler("customError"); // デフォルトはすべてのエラーです。これは E_ALL です。

www.bkjia.com本当http://www.bkjia.com/PHPjc/477972.html技術記事 1. プログラム自体のエラーは、構文エラーやコンパイラーが解析できないなど、比較的対処が簡単なエラーです。これらのエラーはコンパイル中に通過しません...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート