我正在使用 XDebug 来分析一个大型 MVC 应用程序,通过它们的 URI 而不是文件名 (.php) 来分析单个请求要容易得多,因为多个请求是通过内部函数发出的,导致单个页面刷新会产生多个研磨文件。
我已经看到 %p = 进程 ID,%t = 时间戳和 %s = 脚本名称 ( var_path_to_example.php )
如果文件可以命名得更像研磨,那会容易得多。{域}{路径}.%p
这可能吗?我还没有找到任何其他字符串格式替换器可以做 im 之后的事情。
单页刷新当前创建四个研磨文件(三个用于索引,一个是主请求,另外两个是媒体压缩器),一个用于 img.php这是一个媒体路径重写器和调整器。
在这种情况下,将所有这些合并为一个 www.example.com/path/to/controller.grind 会更可取。
答案是使用 %R - 我在 trace_output_name 部分下的 Xdebug 设置中找到了字符串替换列表。似乎相同的替换器也可以用于探查器输出名称。
在 php 中像这样命名你的文件.ini - "cachegrind.out.%R" 将 URI 放入名称中,斜杠替换为下划线。
现在我的研磨文件看起来像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