PHP7 下安装使用 xhprof

字数 142阅读 6207

xhprof 的安装

该 xhprof 版本是从 https://github.com/longxinH/xhprof 获取,如有更好的选择,烦请联系我。

cd ~
git clone https://github.com/longxinH/xhprof

安装 xhprof

cd xhprof/extension/
/opt/php-7.0.14/bin/phpize
./configure --with-php-config=/opt/php-7.0.14/bin/php-config --enable-xhprof
make
make install

出现

Installing shared extensions:     /opt/php-7.0.14/lib/php/extensions/no-debug-non-zts-20151012/

代表编译成功

修改 php.ini 文件

/opt/php-7.0.14/bin/php -i | grep php.ini //命令查找php.ini文件的位置

/etc/php.ini中增加如下配置

[xhprof]
extension=xhprof.so
xhprof.output_dir=/data/www/xhprof/save_output_dir //该目录自由定义即可,用来保存xhprof生成的源文件

保存好之后,重启php-fpm

kill -USR2 `cat /opt/php-7.0.14/var/run/php-fpm.pid`

将相关文件移动到项目中

//切换到下载的 xhprof 目录
cp -r xhprof/xhprof_html  ROOT_PATH/
cp -r xhprof/xhprof_lib ROOT_PATH/

使用

xhprof_enable();

//你需要分析的代码

$xhprof_data = xhprof_disable();
include_once ROOT_PATH.'/xhprof_lib/utils/xhprof_lib.php';
include_once ROOT_PATH . '/xhprof_lib/utils/xhprof_runs.php';

$xhprof_runs = new XHProfRuns_Default();

$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test");
//将run_id保存起来或者随代码一起输出

查看数据

访问$host_url/xhprof_html/index.php?run=58d3b28b521f6&source=xhprof_test来查看结果

图形化结果

点击[View Full Callgraph]可以看图形化结果

报错

failed to execute cmd:" dot -Tpng". stderr:sh: dot:command not found。

//解决方案
yum install graphviz

推荐阅读更多精彩内容

  • 1.写在前面 本文主要介绍的是zabbix的编译安装过程,包含它的基础环境LNMP,虽然zabbix官方一般推荐的...
  • 1.LAMP介绍  LAM(M)P:L: linuxA: apache (httpd)M: mysql, mar...
  • Welcome 目前网络上充斥着大量的陈旧信息,让PHP新手误入歧途,传播着错误的实践和糟糕的代码,这必须得到纠正...
  • 有一天,史帝夫正在挖矿,他挖着挖着,看到一块钻石。正准备跑去挖的时候,突然,他调进了时空隧道,他出也出不去,它掉进...
  • 一颗心 分几处 闲下事来心无助 左牵肠 右挂肚 何时把心放原处