wget http://pecl.php.net/get/xhprof-0.9.4.tgz
tar -zxvf xhprof-0.9.4.tgz
cd xhprof-0.9.4
cd extension/
phpize
./configure
make && make install、
增加配置php.ini
[xhprof]
extension=xhprof.so
xhprof.output_dir=/tmp
//
使用xhprof會在nginx下報502 Bad Gateway錯誤
我的運行環境Yii + nginx +php5.4.25+centos
bug修復
xhprof_enable()
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
修改爲:
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY)
1.nginx配置nginx.conffastcgi_param PHP_VALUE "auto_prepend_file=/etc/config_home/inject.php";
2.php配置:php.ini
auto_prepend_file =/etc/config_home/inject.php
3.php文件
//開啓xhprof
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS|XHPROF_FLAGS_MEMORY | XHPROF_FLAGS_CPU);
//在程序結束後收集數據
register_shutdown_function(function() {
$xhprof_data = xhprof_disable();
include_once "/var/ms/public/xhprof_lib/utils/xhprof_lib.php";
include_once "/var/ms/public/xhprof_lib/utils/xhprof_runs.php";
$objXhprofRun = new XHProfRuns_Default();
// 第一個參數j是xhprof_disable()函數返回的運行信息
// 第二個參數是自定義的命名空間字符串(任意字符串),
// 返回運行ID,用這個ID查看相關的運行結果
$run_id = $objXhprofRun->save_run($xhprof_data, "xhprof");
//讓數據收集程序在後臺運行
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
}
});
備註說明
Incl. CPU (microsecs):包含內部函數 CPU 花費的時間,單位微秒
Excl. CPU (microsec):不包含內部函數 CPU 花費的時間,單位微秒
Incl. MemUse (bytes):包含內部函數所佔內存,單位字節
Excl. MemUse (bytes):不包含內部函數所佔內存,單位字節
Incl. PeakMemUse (bytes):包含內部函數所佔內存峯值,單位字節
Excl. PeakMemUse (bytes):不包含內部函數所佔內存峯值,單位字節