ホームページ > バックエンド開発 > PHPの問題 > PHP エラー警告が表示された場合はどうすればよいですか?

PHP エラー警告が表示された場合はどうすればよいですか?

藏色散人
リリース: 2023-03-14 19:34:02
オリジナル
3362 人が閲覧しました

PHP エラー警告の解決策: 1. 警告ページに「error_reporting(E_ALL ^ E_DEPRECATED);」を追加します; 2. php.ini ファイルを変更してエラーを保護します。

PHP エラー警告が表示された場合はどうすればよいですか?

この記事の動作環境: Windows7 システム、PHP バージョン 5.5、DELL G3 コンピューター

PHPエラー警告ですか?

PHP 表示の警告と通知の問題の解決策

PHP をインストールすると、エラー報告、リマインダー、警告などが php に設定されます。 ini ファイルが表示されます。この方法を使用すると、PHP プログラムをデバッグするときに、プログラムの問題を時間内に理解できます。その場合、リマインダーや警告などが必要ない場合もあります。たとえば、PHP5.5 (またはそれ以降) を使用し、MySql 開発環境で古い MySql 接続方法を使用する場合、PHP は次のプロンプトを表示します: 最新の MySql 接続を使用してくださいこれを使用してデータベースの内容を読み取り、json 形式 (またはその他) としてフロント デスクに返すと、内容でエラーが発生することがよくあります

このエラーをブロックするにはどうすればよいですか? 方法は次のとおりです:

1. リマインダー、エラー、または警告が発生する可能性がある (またはすでに発生している) ページにシールド エラー リマインダーを追加します。

error_reporting(E_ALL ^ E_DEPRECATED);

//このバージョンでは php5. 5. 古い mysql 接続メソッドの使用は推奨されなくなりました

#//しかし、speedPHP は依然として古い接続メソッドを使用しますこのとき、php は E_deprecated Tip を報告します。この時点ではヒントをオフにしても問題ありません。

//php をデプロイメント モード (非開発モード) にすることもできますが、最良の解決策は次のとおりです。最新のspeedPHPを使用するには

一般に、次のコンテンツを使用して、いくつかの通知警告やその他の問題を解決することもできます

## ini_set("display_errors", 0) ;

error_reporting(E_ALL ^ E_NOTICE);

error_reporting(E_ALL ^ E_WARNING);

2. php.ini ファイルを開き、関連する設定 (以下を参照) を見つけて、次のように変更します。エラーをブロックするにはオフにします (この方法は推奨されません):

PHP で display_errors を変更する場合があります。 .ini がまだ機能しない場合は、次の方法を参照してください:

php.ini を変更し、display_errors = On を display_errors = Off に変更しますが、結果はまだ機能しません。 Baidu で確認したところ、php-fpm.conf で設定する必要があることが判明しました。

php-fpm.conf を開き、次を見つけます:

<値の名前="php_defines">

## <値の名前="sendmail_path">/usr/sbin/sendmail -t -i

0

値を 1 から 0 に変更するだけです。

3. この方法は、リマインダーや警告が確実に表示される方法を使用することを決定したプロジェクトに非常に適しています。これをきっぱりブロックします:

最初に 2 を参照して、関連する display_errors の場所を見つけて、Off を On に変更します。

次に、下の図の場所を見つけて、エラーを報告する必要があるレベル、またはレベルを変更します。報告する必要はありません

参照されるエラー報告レベルは次のとおりです:

定义和用法:
error_reporting() 设置 PHP 的报错级别并返回当前级别。
 
函数语法:
error_reporting(report_level)
 
如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:
值 常量 描述
1 E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。
2 E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
4 E_PARSE 编译时解析错误。解析错误只由分析器产生。
8 E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
16 E_CORE_ERROR PHP启动时初始化过程中的致命错误。
32 E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。
64 E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
128 E_COMPILE_WARNING 编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告。
256 E_USER_ERROR 用户自定义的错误消息。这就像由使用PHP函数trigger_error(程序员设置E_ERROR)
512 E_USER_WARNING 用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
1024 E_USER_NOTICE 用户自定义的提醒消息。这就像一个由使用PHP函数trigger_error(程序员一个E_NOTICE集)
2048 E_STRICT 编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
4096 E_RECOVERABLE_ERROR 开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
8191 E_ALL 所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)
ログイン後にコピー

例:

上記のオプションはいくつでも使用できます。必要なすべてのエラー レベルを報告できるように、「または」を使用して接続します (OR または | を使用)。
たとえば、次のコードはユーザー定義のエラーと警告をオフにし、特定の操作を実行した後、元のエラー レベルに戻ります:

<?php
//禁用错误报告
error_reporting(0);
 
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
 
//报告所有错误
error_reporting(E_ALL);
?>
ログイン後にコピー
推奨される学習: 「PHP ビデオ チュートリアル

以上がPHP エラー警告が表示された場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート