# apt-get install php5-xhprof
(при отсуствии - смотрим сюда)
Но сделав потом dpkg -L php5-xhprof увидим, что файлов там совсем чуть - .so файл, .ini и чуть обвязки, но нет никакого анализатора. Поэтому теперь смотрим версию так
# php -i | grep xhprof
xhprof => 0.9.2
Проверим, что модуль подключился:
php -m | grep xhprof
качаем сорцы для анализатора
# wget http://pecl.php.net/get/xhprof-0.9.2.tgz
# tar -vzxf xhprof-0.9.2.tgz
и xhprof-0.9.2 можно перенести например в /var/www
Если хочется последнюю версию, то можно взять тут
git clone https://github.com/facebook/xhprof.git
Теперь, чтобы анализатор заработал, нужно выставить xhprof.output_dir
sudo vim /etc/php5/mods-available/xhprof.ini
...
xhprof.output_dir="/var/tmp/xhprof"
И добавить чуть кода в проект
Для удобства просмотра
sudo vim /etc/php5/mods-available/xhprof.ini
...
xhprof.output_dir="/var/tmp/xhprof"
также есть такой файл
/usr/share/php5/xhprof/xhprof.ini
/usr/share/php5/xhprof/xhprof.ini
Этот /var/tmp/xhprof нужно создать и выставить ему права на чтение-запись для тех, кого профилируем. Также нужно проверить, что каталог будет существовать при перезагрузке и при необходимости донастроить его создание, например через systemd-tmpfiles. Или используем другой путь, который не будет очищаться и куда могут писать все сайты, например /var/lib/xhprof
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); ... $xhprof_data = xhprof_disable(); include_once "xhprof_lib/utils/xhprof_lib.php"; include_once "xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test"); echo "Report: http://domain.tld/xhprof_html/index.php?run=$run_id&source=xhprof_test"; echo "\n";
apt-get install graphviz
теперь нам нужно подключить xhprof_html к сайту. Самый простой вариант - копируем /var/www/xhprof-0.9.2/xhprof_* себе в проект, чуть сложнее через alias (через nginx не получится - там нужно выполнять php скрипты. Точнее получится, но по факту будет копия location /, с заворотом на некий обработчик php - fastcgi, apache, пример есть тут или тут)
Через алиас:
sudo vim /etc/apache2/conf.d/xhprof.conf
#alias /xhprof_html "/usr/share/php/xhprof_html/"
alias /xhprof_html "/var/www/xhprof-0.9.2/xhprof_html/"
Может сразу не заработать, вероятно надо в /usr/... класть.
И ещё чуть линков
https://drupal.stackexchange.com/questions/88359/install-and-configure-xhprof-ubuntu
http://tigor.com.ua/blog/2009/12/13/profiling-php-with-xhprof/
И ещё чуть линков
https://drupal.stackexchange.com/questions/88359/install-and-configure-xhprof-ubuntu
http://tigor.com.ua/blog/2009/12/13/profiling-php-with-xhprof/
http://debian-help.ru/articles/xhprof-i-xdebug-profilirovanie-profiling-koda-php/
Комментариев нет:
Отправить комментарий