这是与XDebug profiling in PHP - can't get output类似的问题,但我的是在Windows上,我有指定的完整路径(这解决了他的问题)
即使我启用了探查器,我也没有得到任何输出。下面是xdebug设置的副本(我已经缩进了所有已取消注释的选项。) - 请注意xdebug工作得很好,因为我已经得到了标准的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
答案 0 :(得分:71)
我认为这与“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:
由于答案得到了很多关注,我想我会解释原因。在问题的配置文件中,output_name
包含一个:
字符,这是Linux上文件名中允许的字符,但不是Windows。