在输出名称配置中用于xdebug.trace_output_name
参数的URI上应用了哪些替换规则? whatever item(参数:trace._test_xdebug_test_php_var=1_var2=2.xt
)仅提供一个示例,可以通过不同方式进行解释:
/test/xdebug_test.php?var=1&var2=2
可以是
/test_xdebug/test.php?var=1&var2=2
或
/test/xdebug/test.php?var=1&var2=2
或
dt=0.1
(如何)我可以从xdebug转储名称重新创建uri吗?
答案 0 :(得分:0)
我浏览了xdebug source code并找到了替换字符的函数:
if (data) {
strval = estrdup(Z_STRVAL_P(data));
/* replace slashes, dots, question marks, plus
* signs, ampersands, spaces and other evil chars
* with underscores */
while ((char_ptr = strpbrk(strval, "/\\.?&+:*\"<>| ")) != NULL) {
char_ptr[0] = '_';
}
xdebug_str_add(&fname, strval, 0);
efree(strval);
}
<强> TL; DR:强> /\.?&+:*"<>|
作为副节点,同时使用apache试验字符列表:
%20
,因此不会被_
%3C
和%3E
,因此不会被_
"
编码为%22
,因此不会被_
答案 1 :(得分:0)
您无法从生成的文件名返回到完整的网址,因为信息会丢失,因为某些字符基本上已被std::vector<Cell> cells;
替换,因为您已在评论中添加了<。 / p>