Rumah >pembangunan bahagian belakang >tutorial php >error_reporting and find error in php program
代码
<p class="sycode"> <? php /* 开启php.ini中的display_errors指令,只有该指令开启如果有错误报告才能输出 */ ini_set ( ' display_errors ' , 1 ); /* 通过error_reporting()函数设置在本脚本中,输出所有级别的错误报告 */ error_reporting ( E_ALL ); /* “注意(notice)”的报告,不会阻止脚本的执行,并且可能不一定是一个问题 */ getType ( $var ); // 调用函数时提供的参数变量没有在之前声明 /* “警告(warning)”的报告,指示一个问题,但是不会阻止脚本的执行 */ getType (); // 调用函数时没有提供必要的参数 /* “错误(error)”的报告,它会终止程序,脚本不会再向下执行 */ get_Type(); // 调用一个没有被定义的函数 ?> </p>
Description: 1.error_reporting () to set PHP's error-level and return to the current level. Its scope is the current page
2.Display_errors directive in php.ini open, only the instruction to open the output if there is an error report
语法
error_reporting(report_level)
If the parameter level is not specified, the current error level will be returned. The following is the level of several possible values:
1 | E_ERROR | Fatal run-time errors. Errors that can not be recovered from. Execution of the script is halted |
2 | E_WARNING | Non-fatal run-time errors. Execution of the script is not halted |
4 | E_PARSE | Compile-time parse errors. Parse errors should only be generated by the parser |
8 | E_NOTICE | Run-time notices. The script found something that might be an error, but could also happen when running a script normally |
16 | E_CORE_ERROR | Fatal errors at PHP startup. This is like an E_ERROR in the PHP core |
32 | E_CORE_WARNING | Non-fatal errors at PHP startup. This is like an E_WARNING in the PHP core |
64 | E_COMPILE_ERROR | Fatal compile-time errors. This is like an E_ERROR generated by the Zend Scripting Engine |
128 | E_COMPILE_WARNING | Non-fatal compile-time errors. This is like an E_WARNING generated by the Zend Scripting Engine |
256 | E_USER_ERROR | Fatal user-generated error. This is like an E_ERROR set by the programmer using the PHP function trigger_error() |
512 | E_USER_WARNING | Non-fatal user-generated warning. This is like an E_WARNING set by the programmer using the PHP function trigger_error() |
1024 | E_USER_NOTICE | User-generated notice. This is like an E_NOTICE set by the programmer using the PHP function trigger_error() |
2048 | E_STRICT | Run-time notices. PHP suggest changes to your code to help interoperability and compatibility of the code |
4096 | E_RECOVERABLE_ERROR | Catchable fatal error. This is like an E_ERROR but can be caught by a user defined handle (see also set_error_handler()) |
8191 | E_ALL | All errors and warnings, except level E_STRICT (E_STRICT will be part of E_ALL as of PHP 6.0) |
Examples
Any number of the above options can be used "or"to connect (with OR or |), so that all required to report the level of error. For example, the following code to turn off the user-defined errors and warnings, the implementation of certain operations, and then return to the original error level:
<p class="sycode"> <pre class="sycode" name="code"> <p class="sycode"> <? php // 禁用错误报告 error_reporting ( 0 ); // 报告运行时错误 error_reporting ( E_ERROR | E_WARNING | E_PARSE ); // 报告所有错误 error_reporting ( E_ALL ); ?> </p>