XAMPP, профилирование php-приложений с помощью XHProf под (Windows, PHP 7.2)

Профилирование и отладка php-приложений: XAMPP, Windows, PHP 7.2

Заметка…

На D установлен XAMPP.

В php.ini добавляем:

[xhprof]
extension=php_xhprof.dll
xhprof.output_dir="d:/xampp/xhprof"

Саму dll ищем (в зависимости от версии php):

У меня 7.2. Или собираем сами (описывать не буду).

  • Распаковываем и добавляем в: D:/xampp/php/ext
  • Перезапускам XAMPP. Ошибок быть не должно.

Открываем phpinfo() - видим (xhprof):

В файл index.php (сайта, приложения) добавляем в самое начало:

define('XHPROF_DEBUG', extension_loaded('xhprof')  && false); // заменить на false для отключения
if (defined('XHPROF_DEBUG') && XHPROF_DEBUG) {
  $utils_path = "d:/xampp/htdocs/xhprof/xhprof_lib/utils/";
  require_once($utils_path.'xhprof_lib.php');
  require_once($utils_path.'xhprof_runs.php');
  xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY + XHPROF_FLAGS_NO_BUILTINS);
}

В самый конец:

if (defined('XHPROF_DEBUG') && XHPROF_DEBUG) {
  $profiler_namespace = 'someapp'; // пространство запусков
  $xhprof_data = xhprof_disable();
  $xhprof_runs = new XHProfRuns_Default();
  $run_id = $xhprof_runs->save_run($xhprof_data, $profiler_namespace);
}

Просмотр отчета XHProf

Собранные данные можно проанализировать в интерфейсе XHprof для построения отчетов по адресу:

http://127.0.0.1/xhprof/xhprof_html/index.php

Очень много интересного…

3 симпатии