php报错 怎么断点打印,PHP程序如何debug?

https://blog.csdn.net/Time888/article/details/72357073?locationNum=13&fps=1

一、检查是否有语法错误

php -l test.php

1

二、基本调试

基本调试 API:

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

1

基本的配置:

display_errors、log_errors、error_reporting、error_log

1

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

常用代码:

ini_set("display_errors","On");

error_reporting(E_ALL);

1

2

三、利用错误收集函数

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 的别名

示例代码:

register_shutdown_function('my_shutdown_handler');

function my_shutdown_handler() { $error = error_get_last(); if ($error) { try{ //发送邮件 } catch(Exception $e) { } } return false; }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

三、记log

你认为可能出错的地方

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

1

另外也需要配置error_log

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

四、IDE 调试

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

五、使用工具:xdebug

xdebug_start_trace();

/* 业务代码 */

xdebug_stop_trace();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值