1

我正在为 WAMP 中的 xDebug 分析而苦苦挣扎。它与浏览器完美配合,我正在获取 cachegrind.out 文件,但如果我尝试使用命令行执行 php 脚本,那就没有运气了。没有生成缓存研磨文件。

这是我的 php.ini 文件:

[xdebug]
xdebug.remote_enable = On
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/wamp/tmp/profiler"

我也尝试过 profiler_enable_trigger = 0。还尝试添加参数:

php -d xdebug.profiler_enable=On script.php

php -dxdebug.profiler_enable=On script.php

就像在这个 SO question中描述的那样

我什至执行了 php --ini 以了解 Windows 上是否有另一个 php.ini 文件不同于 Apache 使用的文件。原来是同一个文件:

Configuration File (php.ini) Path: C:\windows
Loaded Configuration File:         C:\wamp\bin\php\php5.4.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

因为它是相同的 php.ini,所以我的想法已经不多了。你可以帮帮我吗?如果您需要任何其他输出,请不要犹豫。

4

1 回答 1

2

如果你打开xdebug.profiler_enable_trigger,那么你需要设置一个cookie来触发profiler。由于您不能在命令行上设置 cookie,这将不起作用。对于命令行分析,您需要:

xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0

http://bugs.xdebug.org/view.php?id=1005也存在添加基于环境变量的触发器的问题。

于 2013-11-25T11:57:34.970 回答