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

Инструкция для 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