码迷,mamicode.com
首页 > Web开发 > 详细

PHP程序如何debug?

时间:2019-10-08 00:55:48      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:跟踪   function   clear   语法   自定义   exce   notice   邮件   异常   

1
php -l test.php

二、基本调试

基本调试 API:

1
var_dump($var);print_r($var);echo $var;

基本的配置:

1
display_errors、log_errors、error_reporting、error_log

备注:有时候,会关闭报错,需要手动开启。

常用代码:

1
2
ini_set("display_errors","On");
error_reporting(E_ALL);

三、利用错误收集函数

参考手册:http://php.net/manual/zh/book.errorfunc.php

  • debug_backtrace — 产生一条回溯跟踪(backtrace)
  • debug_print_backtrace — 打印一条回溯。
  • error_clear_last — 清除最近一次错误
  • error_get_last — 获取最后发生的错误
  • error_log — 发送错误信息到某个地方
  • error_reporting — 设置应该报告何种 PHP 错误
  • restore_error_handler — 还原之前的错误处理函数
  • restore_exception_handler — 恢复之前定义过的异常处理函数。
  • set_error_handler — 设置用户自定义的错误处理函数
  • set_exception_handler — 设置用户自定义的异常处理函数
  • trigger_error — 产生一个用户级别的 error/warning/notice 信息
  • user_error — trigger_error 的别名

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
register_shutdown_function('my_shutdown_handler');
function my_shutdown_handler()
{
$error = error_get_last();
if ($error) {
try{
//发送邮件
} catch(Exception $e) {
}
}
return false;
}

三、记log

你认为可能出错的地方

1
file_put_contents('log.text', var_export($var, 1), FILE_APPEND);

另外也需要配置error_log

一般是查看apache的错误日志。命令行执行的错误,并不能收集。

四、IDE 调试

在编写时就能发现一些基本的语法错误。

五、使用工具:xdebug

xdebug_start_trace();
/ 业务代码 /
xdebug_stop_trace();

参考:

  1. xdebug参考:
    https://www.ibm.com/developerworks/cn/opensource/os-php-xdebug/index.html
  2. PhpStorm之Xdebug断点调试:
    http://www.jianshu.com/p/90a724ff85f1
  3. PHP 调试技术手册
    http://blog.xiayf.cn/assets/uploads/files/PHP-Debug-Manual-public.pdf

原文:大专栏  PHP程序如何debug?


PHP程序如何debug?

标签:跟踪   function   clear   语法   自定义   exce   notice   邮件   异常   

原文地址:https://www.cnblogs.com/dajunjun/p/11633169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!