How to set error level in PHP?

怪我咯
Release: 2023-03-07 17:08:01
Original
6918 people have browsed it

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 ] )
Copy after login

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.

ValueConstantDescription
1E_ERRORReport a fatal error that caused the script to terminate
2E_WARNINGReport Warning errors at runtime (the script will not terminate the run)
4E_PARSEReport syntax parsing errors at compile time
8E_NOTICEReport notification errors, the script may generate errors
16E_CORE_ERRORFatal error during initialization during PHP startup.
32E_CORE_WARNINGWarning (non-fatal error) during initialization when PHP starts.
64E_COMPILE_ERROR Fatal error during compilation. This is like an E_ERROR being generated by the Zend scripting engine.
128E_COMPILE_WARNINGCompile-time warning (non-fatal error). This is like an E_WARNING warning generated by the Zend script engine.
256E_USER_ERRORUser-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)
1024E_USER_NOTICE . This is like a standardized warning encoded using the PHP function trigger_error (an E_WARNING warning set by the programmer)
2048E_STRICT. Allows PHP to suggest how to modify the code to ensure optimal interoperability and forward compatibility.
4096E_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())
8191E_ALLAll errors and warnings (excluding E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)

How to set error level in PHP? 任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。

例子:

下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

<?php
//禁用错误报告
error_reporting(0);

//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);

//报告所有错误
error_reporting(E_ALL);
?>
Copy after login

一个简单的例子是:

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template