// 安装xhprof
cd /usr/local/src
git clone https://github.com/longxinH/xhprof
cd xhprof/extension/
phpize
find / -name php-config
/usr/bin/php-config
./configure --with-php-config=/usr/bin/php-config --enable-xhprof
make && make install
// 添加扩展
cd /etc/php.d
vim xhprof.ini
[xhprof]
extension = xhprof.so
xhprof.output_dir = /tmp/xhprof
// 重启php
killall -9 php-fpm
/usr/sbin/php-fpm
// 创建目录并赋予权限
mkdir /tmp/xhprof
chmod -R 777 /tmp/xhprof
mkdir /var/www/html/xhprof
cp -a xhprof_html /var/www/html/xhprof
cp -a xhprof_lib /var/www/html/xhprof
// 将以下代码添加到入口文件
//开启性能分析
xhprof_enable(XHPROF_FLAGS_MEMORY | XHPROF_FLAGS_CPU);
//php中止时运行的函数
register_shutdown_function(function () {
//停止性能分析
$xhprof_data = xhprof_disable();
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
}
//引入xhprof库文件,路径请自行修改
$XHPROF_ROOT = realpath(dirname(__FILE__) . '/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();
//导出性能分析数据,默认xhprof.output_dir指定的目录
$run_id = $xhprof_runs->save_run($xhprof_data, 'xhprof');
});
// 新增虚拟主机,重启nginx
vim /usr/local/nginx/conf/vhosts/xhprof.conf
server {
listen 80;
server_name test.xhprof.com;
charset utf-8;
root /var/www/html/xhprof/xhprof_html;
index index.html index.htm index.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}