Xdebug и без профилирования вывода - PullRequest
28 голосов
/ 14 апреля 2011

Эта проблема похожа на Профилирование XDebug в PHP - невозможно получить вывод , но у меня на окнах, и у меня указан полный путь (который решил его проблему)

Я не получаю никакого вывода, хотя я включил профилировщик. Ниже приведена копия настройки 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 Ответ

71 голосов
/ 14 апреля 2011

Я думаю, что это связано с настройкой "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.

...