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、代码

if($_POST[Submit]=="搜索"){

$key=$_POST[txt_key];//获取文本框的值

print $key;

}

?>

2、运行结果

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

1、代码

$file="book.php";//定义操作文件

@fread($file) or die("文件读取失败!");

fclose($file);

echo "我不能被输出了!程序运行后,前缀字符@后面的命令不被显示!";

?>

2、运行结果

文件读取失败!

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

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

error_log = D:\AppServ\php5\php_errors.log

2、代码

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

打开php_errors.log文件

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值