【问题标题】:XDebug profiling not working in windows command lineXDebug 分析在 Windows 命令行中不起作用
【发布时间】:2013-11-20 08:06:42
【问题描述】:

我在 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

This 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,所以我的想法已经不多了。你可以帮帮我吗? 如果您需要任何其他输出,请不要犹豫。

【问题讨论】:

    标签: php windows command-line xdebug xdebug-profiler


    【解决方案1】:

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

    xdebug.profiler_enable = 1
    xdebug.profiler_enable_trigger = 0
    

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

    【讨论】:

    • 感谢您的回答和链接。正如我之前在我的问题中所说,我也尝试了 profiler_enable_trigger = 0 ,但没有运气。我终于使用了一个 suse 虚拟框来分析代码,但我想知道为什么它在我的 windows 机器上不起作用。无论如何,谢谢你,德里克!
    猜你喜欢
    • 2014-09-23
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 2017-09-01
    • 1970-01-01
    • 2014-08-24
    相关资源
    最近更新 更多