smotrovalilit / xhprof
xhprof
1.0.1
2017-09-20 00:06 UTC
This package is not auto-updated.
Last update: 2025-07-06 08:23:49 UTC
README
Установка
- В composer.json прописать следующее:
"require": {
"phacility/xhprof": "dev-master",
"smotrovalilit/xhprof": "1.0.0"
},
"repositories": [
{
"type": "package",
"package": {
"name": "phacility/xhprof",
"version": "master",
"source": {
"type": "git",
"url": "https://github.com/phacility/xhprof",
"reference": "master"
},
"autoload": {
"files": [
"xhprof_lib/utils/xhprof_runs.php",
"xhprof_lib/utils/xhprof_lib.php"
]
}
}
}
]
Установка расширения xhprof для php5.6
- установить необходимые модули
sudo apt update
sudo apt install php-pear git php5.6-dev php5.6-mcrypt php5.6-xml
sudo phpenmod mcrypt
pecl install xhprof-beta
- изменить файл sudo vim /etc/php/5.6/mods-available/xhprof.ini вставив текст:
extension=xhprof.so
- подключить конфиг и перезагрузить сервер
sudo phpenmod xhprof
sudo systemctl reload apache2
- проверить
php --ri xhprof
Установка расширения xhprof для php7
Пример использования
На тестируемом сайте
<?php
$hostForDisplayReports = 'http://xhprof-display.dev.lilit-web.ru/xhprof_html';
$type = 'xhprof-example'; // нужен для группировки отчетов
use SmotrovaLilit\ProfileServiceXhprof;
$profile = new ProfileServiceXhprof($type);
$profile->startProfiling();
echo "test";
$reportId = $profile->endProfiling();
?>
<p>
<a target="_blank" href="<?= $hostForDisplayReports . '/index.php?run=' . $reportId . '&source=' . $type ?>">Посмотреть
отчет</a>
</p>
Отчеты сохраняются во временную системную папку. При необходимости в настройках конфига apache для хоста можно указать иной путь
php_admin_value xhprof.output_dir /custom_path
Отображение отчетов
- необходимо создать хост для отображения отчетов в document_root которого скачать репозиторий
git clone https://github.com/phacility/xhprof ./
- отчеты берутся из временной системной директории. При необходимости в настройках конфига apache для хоста можно указать иной путь
php_admin_value xhprof.output_dir /custom_path