2015-09-22 2 views
1

Я установил xhprof на Debian 7 с использованием php5-xhprofКак мне получить XHprof для начала профилирования?

Это создает файл /etc/php5/fpm/conf.d/20-xhprof.ini

В этом ини файле я добавил xhprof.output_dir = "/ TMP/xhprof"

Я создал файл/TMP/xhprof с 755 WWW-данных: WWW-данных

Я могу подтвердить, что РНР xhprof включен с phpinfo(), хотя это не дайте мне параметр output_dir.

я запустить скрипт, который имеет первую строку

xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY); 

Там нет файлов, созданных в/TMP/xhprof

Я перезапущен php5-FPM и до сих пор не повезло.

ответ

0

xhprof.output_dir строка

каталог, используемый по умолчанию реализации интерфейса iXHProfRuns (а именно, класс XHProfRuns_Default) для хранения XHProf работает.

http://php.net/manual/en/xhprof.configuration.php

В конце профилирования (или скрипт), нужно сохранить данные вручную

$xhprof_data = xhprof_disable(); 

$XHPROF_ROOT = "/tools/xhprof/"; 
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php"; 
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php"; 

$xhprof_runs = new XHProfRuns_Default(); 
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing"); 

echo "http://localhost/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing\n"; 

http://php.net/manual/en/xhprof.examples.php

Если вы не хотите, чтобы контролировать профилирование в приложении кода вы можете сделать автоматический загруженный фрагмент кода /path/to/xhprof/xhprof_enabler.php:

<?php 

xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY); 

register_shutdown_function(function(){ 
    $xhprof_data = xhprof_disable(); 

    $XHPROF_ROOT = "/path/to/xhprof"; 
    include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php"; 
    include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php"; 

    $xhprof_runs = new XHProfRuns_Default(); 
    $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing"); 

    echo "http://localhost/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing"; 
}); 

А затем добавить

auto_prepend_file=/path/to/xhprof/xhprof_enabler.php 

в /etc/php5/fpm/conf.d/20-xhprof.ini

Пожалуйста, обратите внимание, что вам также необходимо настроить виртуальный хост для просмотра профиля, или вы можете просто симлинка xhprof папку (которая содержит xhprof_html) к вашему умолчанию vhost root.

Перезагрузите php5-fpm, и все должно быть сделано.

 Смежные вопросы

  • Нет связанных вопросов^_^