Xhprof-性能分析工具-集成框架(Php进阶)
作为php的忠实粉丝,性能分析怎么能少了Xhprof工具呢。接下来我来教大家一步步安装测试。
1.php安装Xhprof扩展。
git clone https://github.com/phacility/xhprof.git (一个项目)
记住路径。
cd xhprof/extension/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --enable-xhprof
make
make install
写入配置:
echo "extension=xhprof.so" > /etc/php.ini
重启php-fpm
service php-fpm restart
查看扩展:
php -m |grep "xhprof"

代表安装拓展成功。不同安装方式请忽略,只要安装此拓展即可。
2. 配置nginx 能访问该项目。
直接在conf.d 里面包含文件。
新建 xhprof.conf.
下面是我的配置。

路劲指向xhprof_html 。
3.访问xxxxx:8066 可以看到:

代表安装 xhprof成功。
4.接下来集成 到框架。
我用的是 yaf 框架,下面介绍我是怎么集成到项目中的。

5.将xhprof_html 和xhprof_lib目录复制到框架根目录。如上图。
然后在入口文件index.php 文件加入:
xhprof_enable();
register_shutdown_function("myshutdown"); //发生致命错误调用functions.php中的myshutdown方法报告错误
如图:

将xhprof封装成函数调用。 functions.php
function myshutdown(){
$xhprof_data = xhprof_disable();
include_once ROOTPATH.'/xhprof/xhprof_lib/utils/xhprof_lib.php';
include_once ROOTPATH . '/xhprof/xhprof_lib/utils/xhprof_runs.php';
$xhprof_runs = new \XHProfRuns_Default();
//var_dump($xhprof_runs);
//var_dump($xhprof_data);
$dir = "/tmp/xhprof";
if(!is_dir($dir)) {
mkdir($dir, 0777, true);
}
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_test");
//echo $run_id;
}
6.OK 大功告成!
接下来访问你的项目,调用接口什么的,xhprof 就会收集调用的结果。 再次打开我们刚才配置的8066端口的项目xhprof

可以看到。已经我们访问我们自己的项目时,在项目中调用的方法结果 已经被收集了。
我们打开其中一个。

点击
[View Full Callgraph]
可以看到已经生成了 可视化的接口执行结果。

这里要注意的是,可视化的操作有可能会报错。解决办法:
yum install graphviz -y
以上就是 安装xhprof的全过程,不懂的可以给我留言哦
注意: xhprof 目前只支持 PHP 7.2, 7.1, 7.0, 5.6 and 5.5! 小编的项目是PHP7.4 配置完了 直接记录不到!

但是点进去

根本记录不到!
小编准备放弃这款工具了,这次配置算是怀旧吧。
龙卷风之殇

浙公网安备 33010602011771号