Профилирование XDebug в PHP - невозможно получить вывод - PullRequest
12 голосов
/ 10 августа 2010

У меня странная проблема.Я настроил XDebug для профилирования приложения PHP, над которым мы работаем.Я считаю, что все настроено правильно, но я не получаю вывод при запуске.Моя конфигурация выглядит так:

zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so
[XDebug]
xdebug.profiler_append = 1
xdebug.profiler_enable = 0 (I've tried this both on and off)
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "/debug/xdebug/profiler_output_dir"
xdebug.profiler_output_name = "cachegrind.out.%p"

Все настройки phpinfo() совпадают, как и должны.Права доступа к выходному каталогу сейчас установлены на 777, чтобы я мог проверить это.Я попытался использовать каталог в public_html, но не повезло.URL, который я использую для запуска профилировщика:

http://example.com/my_page.php?XDEBUG_PROFILE
-or-
http://example.com/my_page.php?XDEBUG_PROFILE=1

Ни один из них не работает.Любая помощь будет с благодарностью!Это приложение имеет время загрузки страницы 5-6 секунд, и я не смог отследить его с помощью кода.

Ответы [ 5 ]

12 голосов
/ 23 октября 2014

Существует также проблема с папками / tmp в некоторых дистрибутивах, я не могу получить вывод на centos 7, а затем я нашел this

Итак, я установил

xdebug.profiler_output_dir = / home / jirka / profile

chmod 777 /home/jirka/profile и теперь все в порядке.

11 голосов
/ 22 августа 2010

Прокомментируйте xdebug.profiler_output_dir и xdebug.profiler_output_name и посмотрите, можете ли вы найти результат в /tmp/.

6 голосов
/ 20 декабря 2011

Другая возможная причина этой проблемы - разрешения для папки profiler_output_dir.

Добавление разрешений на запись для группы и владельца решило проблему для меня:

sudo chmod go+w /home/dimitris/cachegrind/
1 голос
/ 04 апреля 2017

Требовался полный путь, а не только путь:

xdebug.profiler_append=1
xdebug.profiler_output_dir ="/home/username/debug/xdebug/profiler_output_dir"
xdebug.profiler_output_name = "cachegrind.out.%s.%H"
1 голос
/ 21 марта 2012

Также остерегайтесь ограничений доступа, таких как права доступа, группы, владелец и SElinux ...

...