Home > Article > Backend Development > How to set error level in PHP?
In our program development, we often encounter some program running errors. PHP will give different prompts according to the error level of the program. For example, warnings, errors, etc., but these errors can be set. If they are just small errors, we can prevent these errors from being reported. This requires the use of how to set the error level of PHP as explained in this chapter.
In PHP, there are two ways to set the error level:
The first one: After setting error_reporting in this way, restart the web server and it will take effect permanently .
Taking the xampp integrated software package as an example, open the configuration file php.ini and check the default value of error reporting level error_reporting, as follows:
error_reporting=E_ALL & ~ E_DEPRECATED & ~E_STRICT
means reporting all errors except E_DEPRECATED and E_STRICT.
Modify it to:
error_reporting=E_ALL & ~E_NOTICE
It means reporting all errors except E_NOTICE. This is also the most commonly used error reporting level. It does not report errors of the attention class (such as using an undefined variable).
Save it and it will take effect after restarting the web server.
Second: Set the error level through the error_reporting() function. After setting in this way, it can take effect immediately. But only in the area after the error_reporting() function call in the current script.
The syntax of the error_reporting() function is as follows:
int error_reporting ([ int $level ] )
The parameter level is the level of the specified error. If not set, the current error level will be returned. Below are the values given for the level parameter.
Value | Constant | Description |
1 | E_ERROR | Report a fatal error that caused the script to terminate |
2 | E_WARNING | Report Warning errors at runtime (the script will not terminate the run) |
4 | E_PARSE | Report syntax parsing errors at compile time |
8 | E_NOTICE | Report notification errors, the script may generate errors |
16 | E_CORE_ERROR | Fatal error during initialization during PHP startup. |
32 | E_CORE_WARNING | Warning (non-fatal error) during initialization when PHP starts. |
64 | E_COMPILE_ERROR | Fatal error during compilation. This is like an E_ERROR being generated by the Zend scripting engine. |
128 | E_COMPILE_WARNING | Compile-time warning (non-fatal error). This is like an E_WARNING warning generated by the Zend script engine. |
256 | E_USER_ERROR | User-defined warning message. This is like a user-defined warning message created by using the PHP function trigger_error (an E_WARNING warning set by the programmer) |
512 | E_USER_WARNING | . This is like a user-defined warning message by using the PHP function trigger_error (an E_WARNING warning set by the programmer) |
1024 | E_USER_NOTICE | . This is like a standardized warning encoded using the PHP function trigger_error (an E_WARNING warning set by the programmer) |
2048 | E_STRICT | . Allows PHP to suggest how to modify the code to ensure optimal interoperability and forward compatibility. |
4096 | E_RECOVERABLE_ERROR | Fatal error in arresting. This is like an E_ERROR, but can be caught by a user-defined handler (see also set_error_handler()) |
8191 | E_ALL | All errors and warnings (excluding 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); ?>
一个简单的例子是:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
他表示php错误,警告,语法错误,提醒都返错。
The above is the detailed content of How to set error level in PHP?. For more information, please follow other related articles on the PHP Chinese website!