Профайлер Xdebug не работает?

Я использую XAMPP, и я настроил его, чтобы иметь виртуальные хосты для каждого проекта, который я создаю локально.

В моем php.ini я включил xdebug, и мои скрипты работают исправно. Я имею в виду, что всякий раз, когда появляется предупреждение, уведомление, ошибка, сообщается xdebug.

Теперь я хотел бы включить профайлер Xdebug, и я внесли следующие изменения в свой php.ini, чтобы позволить профилировщику Xdebug генерировать файл журнала:

; xdebug.profiler_enable ; Type: integer, Default value: 0 ; Enables Xdebugs profiler which creates files in the profile output directory. Those files can be ; read by KCacheGrind to visualize your data. This setting can not be set in your script with ini_set ; (). xdebug.profiler_enable = 1 ; xdebug.profiler_output_dir ; Type: string, Default value: /tmp ; The directory where the profiler output will be written to, make sure that the user who the PHP ; will be running as has write permissions to that directory. This setting can not be set in your ; script with ini_set(). xdebug.profiler_output_dir ="D:\Web Development Projects\Profile" 

Я перезапускаю свой Apache, но все же, когда я запускаю свои скрипты, в папке Profile нет файла.

Есть ли что-нибудь еще, что я должен сделать?

Я прочитал, что для включения Profiler: http://xdebug.org/docs/profiler


После некоторых исследований я добавляю этот код в конец index.php в установке WordPress, которую я имею на своем сервере:

 echo xdebug_get_profiler_filename(); 

После того, как я запустил WordPress, на нижнем колонтитуле я получаю такой результат:

 D:/Web Development Projects/Profile/xdebug_profile._::1320916508_018294 

но когда я иду в папку

 D:/Web Development Projects/Profile/ 

файл там не появился? Есть идеи ?

Прежде всего, вам нужно убедиться, что пользователь, на котором работает ваш веб-сервер, фактически имеет права на запись в указанный вами каталог, и он должен существовать. Также возможно, что Xdebug не любит пробелы в дорожках, хотя это должно работать нормально, я бы попытался установить:

 xdebug.profiler_output_dir = "D:/Web Development Projects/Profiler" 

Поскольку символ \ + может быть escape-последовательностью.

Проблема решена!

Проблема возникла из-за имени файла журнала.

Я просто изменил его на:

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

и работает правильно!