Подтвердить что ты не робот

Профайлер 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/

Файл там не отображается? Любая идея?

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

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

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