Home  >  Article  >  Backend Development  >  How to set error level in PHP?

How to set error level in PHP?

怪我咯
怪我咯Original
2017-04-28 16:11:496895browse

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)

How to set error level in PHP? 任意数目的以上选项都可以用“或”来连接(用 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!

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