PHP Xdebug调试专题 - 设置文件名 ¶
作者:KK
发表日期:2016.2.24
默认情况下生成的文件名是类似trace.150145005.xt
的,我个人觉得这样命名并不友好,起码就算你重复运行其它脚本都是将调试信息记录到这个文件中的,如果想为每个不同的脚本做不同的记录就要先复制备份开,再运行让它产生新的同名文件了
所以我们要通过xdebug.trace_output_name
配置项来设置调试信息的文件名
样本配置:
xdebug.auto_trace=on
xdebug.trace_output_dir="E:\xdebug"
xdebug.collect_params=0
#重点是下面这个,值为%R表示以请求地址来命名,这样不同地址就会有不同的调试信息文件
xdebug.trace_output_name="%R"
然后访问http://xxx.com/a.php
就会产生_a_php.xt
这个文件
而且同一个入口地址不同参数都会不同喔,你试试访问http://xxx.com/a.php?x=y
就会产生_a_php_x=y.xt
这个文件
下面我列出所有命名参数
参数 | 含义 | 例子 | 命名结果 |
---|---|---|---|
%c | 以URL中文件目录的CRC32运算结果命名 | trace.%c | trace.1258863198.xt |
%p | 以进程PID命名 | trace.%p | trace.5174.xt |
%r | 以随机数命名 | trace.%r | trace.072db0.xt |
%s | 入口脚本名称,实际上我测试结果是不会生成文档,原因暂时不明 | cachegrind.out.%s | cachegrind.out._home_httpd_html_test_xdebug_test_php |
%t | 以时间戳命名 | trace.%t | trace.1179434742.xt |
%u | 以毫秒级时间戳命名 | trace.%u | trace.1179434749_642382.xt |
%H | 以$_SERVER['HTTP_HOST']这个域名命名 | trace.%H | trace.kossu.xt |
%R | 以$_SERVER['REQUEST_URI']这个URI部分命名 | trace.%R | trace._test_xdebug_test_php_var=1_var2=2.xt |
%U | 以$_SERVER['UNIQUE_ID']这个唯一的请求ID来命名 | trace.%U | trace.TRX4n38AAAEAAB9gBFkAAAAB.xt |
%S | 以session_id命名,但前提是cookie中有PHPSESSIONID | trace.%S | trace.c70c1ec2375af58f74b390bbdd2a679d.xt |
%% | 以两个百分号命名,我看不懂加这个命名方式有何意义,求教大神啊! | trace.%% | trace.%%.xt |