Home > Article > Backend Development > How to debug errors in php
How to debug errors in PHP: first start the error report; then use the print statement to debug the program; finally, use the prefix character "@" to shield the PHP script error prompt.
Recommended: "PHP Video Tutorial"
php error debugging
1. PHP error levels
Generally speaking, there are three levels of PHP errors: notice, warning, and error.
1. notice: notice errors may be caused when the script is running, or may occur during normal operation. In fact, this may be a flaw in the code, because PHP's interpretation of it may be different from the original meaning of the code.
2. warning: It is a non-fatal error that occurs when the code is running. They are not fatal errors and do not stop script execution.
3. error: indicates that a fatal error has occurred, which will cause the script to stop running. This error may occur at any stage of PHP operation. Includes initialization, parsing and execution code phases.
2. Start error reporting
1. Modify php.ini
display_errors=On error_reporting = E_ALL & ~E_NOTICE
2. Restart the Apache server
3. Use print statements to debug the program
1. Code
<form name="form1" method="post" action=""> <input name="txt_key" type="text" id="txt_key"> <input type="submit" name="Submit" value="搜索"> </form> <?php if($_POST[Submit]=="搜索"){ $key=$_POST[txt_key];//获取文本框的值 print $key; } ?>
2. Running result
4. Apply the prefix character @ to shield PHP script error prompts
1. Code
<?php $file="book.php";//定义操作文件 @fread($file) or die("文件读取失败!"); fclose($file); echo "我不能被输出了!程序运行后,前缀字符@后面的命令不被显示!"; ?>
2. Running result
File reading failed!
5 Use error handler to record logs
1. Configure php.ini, and then restart the Apache server
error_log = D:\AppServ\php5\php_errors.log
2. Code
<?php function err_log($error,$error_str){//自定义一个错误处理函数 $file="php_error.log"; if(filesize($file)>1024){//如果日志文件大于1024KB rename($file,$file.(string)time());//以时间为准绳对日志文件进行重命名 clearstatcache();//清除文件状态缓存 } error_log($error_str,0,$file);//将出错信息记录到管理员所指定的路径 } set_error_handler('err_log');//执行自定义函数log_roller()函数 trigger_error(time().":程序报错.\n");//发出错误信息 restore_error_handler();//重新编译这个预错处理的函数 ?>
3. Running results
Open the php_errors.log file
[09-Apr-2017 13:46:52 Asia/Hong_Kong] 1491716812: Program error.
The above is the detailed content of How to debug errors in php. For more information, please follow other related articles on the PHP Chinese website!