分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

PHP程序如何debug?

发布时间:2023-09-06 02:14责任编辑:顾先生关键词:PHPdebug

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

三、利用错误收集函数

参考手册: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 的别名

示例代码:

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();

参考: 
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?

原文地址:https://www.cnblogs.com/zhq--blog/p/9633089.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved