是否可以在 XDebug 探查器输出文件名中使用 MVC 路径?

Is it possible to use the MVC path in XDebugs profiler outout filename?

我正在使用 XDebug 分析大型 MVC 应用程序,通过 URI 而不是文件名 (.php) 分析单个请求会容易得多,因为多个请求是通过内部函数发出的,导致单个页面刷新的多个研磨文件。

我已经看到 %p = 进程 ID、%t = 时间戳和 %s = 脚本名称 (var_path_to_example.php)

如果文件名能更像 grind 就容易多了。{domain}{path}.%p

这可能吗?我还没有找到任何其他字符串格式替换器,它们可能会执行我之后的操作。

单页刷新当前创建四个研磨文件(三个用于索引,一个是主要请求,另外两个是媒体压缩器)和一个用于 img.php 的媒体路径重写器和调整器。

所有这些组合成一个 www.example。com/path/to/controller。对于这种情况,grind 会更可取。

答案是使用 %R - 我在 trace_output_name 部分的 Xdebug Settings 处找到了字符串替换列表。似乎相同的替换器也可用于探查器输出名称。

在 php.ini - "cachegrind.out.%R" 中这样命名您的文件,以便将 URI 放入名称中,并将斜线替换为下划线。

现在我的 grind 文件看起来像 cachegrind.out._page_minify_css 和 cachegrind.out._(这将是域的根 - 正是我正在寻找的,以便将配置文件与请求相关联)

短名单是这个

%c = CWD 的 crc32

%p = PID

%r = 随机数

%s = 脚本名称(仅用于配置文件输出)

%t = 时间戳(秒)

%u = 时间戳(微秒)

%H = 主机名

%R = 请求 URI(我想要的那个)

%U = 唯一 ID /9 仅自 2.2 )

%S = 会话 ID