视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
php怎么调试错误
2020-11-02 18:02:12 责编:小采
文档


php调试错误的方法:首先启动错误报告;然后使用print语句调试程序;最后通过前缀字符“@”屏蔽PHP脚本错误提示即可。

推荐:《PHP视频教程》

php错误调试

一、php错误级别

一般来说,php错误有三个级别:notice、warning、error。

1、notice:notice错误可能是脚本运行时导致的,也可能是在正常运行过程中出现的。实际上这也许是代码的缺陷,因为PHP对其解释可能与代码的本义有所不同。

2、warning:是一个非致命性地错误,在代码运行时候产生。它们并不是致命的错误,不会停止脚本的执行。

3、error:说明出现了致命的错误,会导致脚本运行停止。PHP运行的任何阶段都有可能出现这种错误。包括初始化、解析和执行代码阶段。

二、启动错误报告

1、修改php.ini

display_errors=On
error_reporting = E_ALL & ~E_NOTICE

2、重启Apache服务器

三、使用print语句调试程序

1、代码

<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、运行结果

四、应用前缀字符@屏蔽PHP脚本错误提示

1、代码

<?php
$file="book.php";//定义操作文件 
@fread($file) or die("文件读取失败!"); 
fclose($file); 
echo "我不能被输出了!程序运行后,前缀字符@后面的命令不被显示!";
?>

2、运行结果

文件读取失败!

五 使用错误处理器记录日志

1、配置php.ini,然后重启Apache服务器

error_log = D:AppServphp5php_errors.log

2、代码

<?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().":程序报错.
");//发出错误信息
restore_error_handler();//重新编译这个预错处理的函数
?>

3、运行结果

打开php_errors.log文件

[09-Apr-2017 13:46:52 Asia/Hong_Kong] 1491716812:程序报错.

下载本文
显示全文
专题