Xdebug 和无分析输出

2022-08-30 15:31:35

这与PHP中的XDebug分析类似 - 无法获得输出,但我在Windows上,并且我指定了完整路径(这解决了他的问题)

即使我启用了探查器,我也没有得到任何输出。以下是xdebug设置的副本(我已经缩进了所有未注释的选项) - 请注意,xdebug工作正常,因为Ii一直收到标准的xdebug错误。如果它有任何区别,我使用的是xampp,cakephp,php 5.3

任何帮助将不胜感激。

[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

;xdebug.auto_trace = 0
;xdebug.collect_includes = 1
;xdebug.collect_params = 0
;xdebug.collect_return = 0
;xdebug.collect_vars = "Off"
;xdebug.default_enable = "On"
;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
;xdebug.dump.COOKIE = ""
;xdebug.dump.FILES = ""
;xdebug.dump.GET = ""
;xdebug.dump.POST = ""
;xdebug.dump.REQUEST = ""
;xdebug.dump.SERVER = ""
;xdebug.dump.SESSION = ""
;xdebug.dump_globals = 1
;xdebug.dump_once = 1
;xdebug.dump_undefined = 0
;xdebug.extended_info = 1
;xdebug.file_link_format = ""
;xdebug.idekey = ""
;xdebug.manual_url = "http://www.php.net"
;xdebug.max_nesting_level = 100
;xdebug.overload_var_dump = 1
    xdebug.profiler_append = 0
    xdebug.profiler_enable = 1
    xdebug.profiler_enable_trigger = 0
    xdebug.profiler_output_dir = "C:\xampp\tmp"
    xdebug.profiler_output_name = "xdebug_profile.%R::%u"
;xdebug.remote_autostart = 0
    xdebug.remote_enable = 0
    xdebug.remote_handler = "dbgp"
    xdebug.remote_host = "127.0.0.1"
;xdebug.remote_log = "none"
;xdebug.remote_mode = "req"
    xdebug.remote_port = 9000
;xdebug.show_exception_trace = 0
;xdebug.show_local_vars = 0
;xdebug.show_mem_delta = 0
;xdebug.trace_format = 0
;xdebug.trace_options = 0
    xdebug.trace_output_dir = "C:\xampp\tmp"
;xdebug.trace_output_name = "trace.%c"
;xdebug.var_display_max_children = 128
;xdebug.var_display_max_data = 512
;xdebug.var_display_max_depth = 3

答案 1

我认为这与“xdebug.profiler_output_name”设置有关。

我复制了您的配置,但更改了“xdebug.profiler_output_name”的值,如下所示

xdebug.profiler_output_name = "cachegrind.out.%t-%s"

它工作正常,但是以你现有的“xdebug.profiler_output_name”值,它没有

我认为这与它不允许在输出文件名中使用冒号有关

希望这有助于/解决您的问题!

编辑:仅供参考,以下是有效的完整设置

[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 0
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "C:\xampp\tmp"

编辑 2:

由于答案是获得很多点击,所以我想我会解释为什么。在问题的配置文件中,包含一个字符,该字符是 Linux 上文件名中允许的字符,但不是 Windows。output_name:


答案 2

推荐