Это аналогичная проблема для профилирования 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
Я думаю, что это связано с настройкой «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.