Назад | Перейти на главную страницу

Настройка профилирования кода PHP с помощью Xdebug

Недавно я установил Xdebug на свой сервер с намерением использовать его для профилирования кода. Кажется, он установлен правильно, и phpinfo перечисляет следующее:

xdebug.profiler_enable       On                       On  
xdebug.profiler_enable_trigger Off                    Off  
xdebug.profiler_output_dir   /var/www/vhosts/xdebug   /var/www/vhosts/xdebug  
xdebug.profiler_output_name cachegrind.out.%p        cachegrind.out.%p

Однако, хоть убей, я не могу понять, почему не создаются cachgrind, когда я запускаю скрипты PHP.

Я что-то упускаю или понимаю неправильно?

Думаю, уже поздно давать ответ.

Я установил xdebug с помощью pecl, я только что активировал его в /etc/php5/apache2/php.ini, добавив

extension=xdebug.so
xdebug.default_enable=1; in my setting, i set this parameter to 0
xdebug.scream=1
xdebug.profiler_enable=1 ; this activate the profiler by default. 
;You can put it off (0), but should activate it by triggring.
xdebug.profiler_enable_trigger=1
; if you do like this, you need to call your script by adding XDEBUG_PROFILE=1 
;to your url for example: http://mytest/test.php?XDEBUG_PROFILE=1

вам следует перезапустить свой веб-сервер и вызвать страницу php из навигатора. Вывод по умолчанию будет создан в / tmp.

Надеюсь на эту помощь.

Попробуйте удалить параметры

xdebug.profiler_enable_trigger Off                    Off  
xdebug.profiler_output_dir   /var/www/vhosts/xdebug   /var/www/vhosts/xdebug  
xdebug.profiler_output_name cachegrind.out.%p        cachegrind.out.%p

Первый в любом случае используется по умолчанию, поэтому он избыточен. Удаление двух других позволит вам понять, что проблема в этих параметрах или в чем-то еще.

Перезапустите Apache, перейдите на страницу php и посмотрите, создается ли какой-либо вывод в / tmp. это расположение по умолчанию для выходных журналов.

Если что-то сгенерировано, вы можете быть уверены, что это проблема с разрешениями вашего выходного каталога.

Проверьте владельца файла, созданного в / tmp, и убедитесь, что у пользователя есть права на запись в / var / www / vhosts / xdebug (из исходной конфигурации), и повторно добавьте параметры, которые у вас были изначально.