• XDebug的配置和使用


    简介

    XDebug是一个开放源代码的PHP程序调试器(即一个Debug工具) 可以用来跟踪,调试和分析PHP程序的运行状况 功能强大的神器,对审计有非常大的帮助。 官网:http://www.xdebug.com/download.php

    XDebug配置

    日志

    xdebug.trace_output_dir:日志追踪输出目录
    xdebug.trace_output_name:日志文件名,xdebug提供了一系列的标识符,生成相应格式的文件名。
    xdebug.trace_output_name:记录添加到文件中方式:1=追加(如果存在该文件);0(default)=覆盖(如果存在该文件)

    显示数据

    xdebug.collect_params
    非零值=控制function的参数显示选项
        0 = 不显示
        1 = 参数类型,值(例如:array(9))
        2 = 同上1,只是在CLI模式下略微有区别
        3 = 所有变量内容
        4 = 所有变量内容和变量名
    xdebug.collect_return
        1 = 显示function返回值。Default 0 不显示。
        1 = 显示当前作用域使用了哪些变量,显示变量名,该选项不会记录变量的值。
        1 = 添加一行显示变量赋值(若为1,刑如$a=1;这类Assignment Expression会在trace文件里显示)

    格式

    xdebug.trace_format:日志追踪输出目录
        0 = 人可读,从左至右每列分别表示:时间点、内存、内存差(需要设置xdebug.show_mem_delta=1),等级,函数名,函数参数
        1 = 机器可读[1],需要借助第三方app,例如:xdebug trace file parser 或者 xdebug trace viewer
        2 = html格式,即table,用brower打开,显示table

    行为

    追踪方式有2种,一种是自动追踪,所有php脚本运行时,都会产生trace文件;另一种是触发方式追踪。

    xdebug.auto_trace
        1 = 打开自动追踪
    xdebug.trace_enable_trigger 注:该特性只能在2.2+版本能设置
        1 = 使用xdebug_trace GET/POST触发追踪,或者设置Cookie xdebug_trace为了避免每次请求时,都会生成相应trace追踪文件,你需要把auto_trace设置为0。

    配置php.ini

    找到php.ini所在的目录,在该文件的最后添加以下文本(如果已存在,要把前面的分号;去掉)

    [XDebug]
    zend_extension="C:phpstudy_proExtensionsphpphp5.4.45ntsextphp_xdebug.dll"//Xdebug存放路径
    xdebug.auto_trace = 1
    xdebug.auto_output_dir = "C:/phpstudy_pro/Extensions/tmp/xdebug"
    xdebug.trace_format = 0
    xdebug.trace_options = 0
    
    xdebug.collect_params = 4
    xdebug.collect_return = 1
    xdebug.collect_vars = 1
    xdebug.collect_assignments = 1
    
    xdebug.profiler_append = 0
    xdebug.profiler_enable = 1//性能优化,关闭(不关闭,会以约每分钟几百M的速度产生大量日志文件,用不上一天你的硬盘就哭了)
    xdebug.profiler_enable_trigger = 0
    xdebug.profiler_output_dir = "C:/phpstudy_pro/Extensions/tmp/xdebug"
    xdebug.profiler_output_name = "cache.out.%t-%s"
    
    xdebug.remote_enable=1//是否允许远程终端,这个必须开启
    xdebug.remote_handler= "dbgp"
    xdebug.remote_host="127.0.0.1"

    保存,重启服务器 查看Xdebug是否开启成功,打印一下phpinfo即可,浏览器访问在phpinfo中查看xdebug配置。

  • 相关阅读:
    文件夹打开对话框
    文件打开对话框
    HOOK函数(二)——全局HOOK
    HOOK函数(一)——进程内HOOK
    抓包
    List 访问
    坑爹的EL 表达式。
    tomcat 虚拟目录的安全问题
    框架
    程序员相关词汇
  • 原文地址:https://www.cnblogs.com/micr067/p/12644186.html
Copyright © 2020-2023  润新知