Home  >  Article  >  Backend Development  >  What to do if there is a PHP error warning?

What to do if there is a PHP error warning?

藏色散人
藏色散人Original
2022-01-12 09:49:283254browse

Solution to PHP error warning: 1. Add "error_reporting(E_ALL ^ ​​E_DEPRECATED);" to the warning page; 2. Modify the php.ini file to shield the error.

What to do if there is a PHP error warning?

The operating environment of this article: windows7 system, PHP version 5.5, DELL G3 computer

What should I do if there is a PHP error warning?

Solution to PHP display Warning and Notice issues

After PHP is installed, error reporting, reminders, warnings, etc. will be set in the php.ini file Appear, this method allows us to understand the problems in the program in time when debugging the PHP program. Then, sometimes we don’t need reminders, warnings, etc. For example, when we use PHP5.5 (or higher) and use the older MySql connection method with the MySql development environment, PHP will prompt: Please use the latest MySql connection method. When you use it to read database content and return it to the front desk as json format (or other), errors will often occur in the content

How to block this error? The methods are as follows:

1. Add a shielding error reminder on the page where a reminder, error, or warning may (or has already) occurred:

error_reporting(E_ALL ^ ​​E_DEPRECATED);

//In this version php5. 5. It is no longer recommended to use the old mysql connection method

//But speedPHP still uses the old connection method. At this time, php will report E_deprecated Tip, it’s OK to turn off the tip at this time. You can also put

//php in deployment mode (non-development mode), but the best solution is to use the latest speedPHP

Generally, you can also use the following content to solve some notice warning and other problems

ini_set("display_errors", 0) ;

error_reporting(E_ALL ^ ​​E_NOTICE);

error_reporting(E_ALL ^ ​​E_WARNING);

2. Open the php.ini file, find the relevant settings (as shown below), and change on to off to block errors (this method is not recommended):

Sometimes modifying display_errors in php.ini still doesn’t work, then refer to the following method:

Modify php.ini and change display_errors = On to display_errors = Off, but the result still does not work. After Baidu checked, it turns out that it needs to be set in php-fpm.conf.

Open php-fpm.conf and find:

63b34fed84565885fabfde02ea27d043

##                                                                 ;5bec67fef5b08d1d29c8ff26ee97a9b1/usr/sbin/sendmail -t -i4b175f9a50d57c75316becd702e959dc

0a101288e62ccdc6c8f51bdeadd769e502ba34e1e7fb3a2f5151fe9342996eb03

Just change the value from 1 to 0.

3. This method is very suitable for those projects that have decided to use a method that will definitely cause reminders or warnings. Block it once and for all:

First refer to 2, find the location of the relevant display_errors, change Off to On

Then find the location in the picture below, modify the level you need to report errors, or the level you do not need to report

The error reporting levels referred to are as follows:

定义和用法:
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)

Example:
Any number of the above options is acceptable Use "or" to connect (using OR or |), so that all required error levels can be reported.
For example, the following code turns off user-defined errors and warnings, performs certain operations, and then returns to the original error level:

<?php
//禁用错误报告
error_reporting(0);
 
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
 
//报告所有错误
error_reporting(E_ALL);
?>

Recommended learning: "

PHP Video Tutorial"

The above is the detailed content of What to do if there is a PHP error warning?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn