php xhprof使用实例详解

这篇文章主要介绍了php xhprof使用实例详解,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下。

xhprof php性能分析

1.clone xhprof 此版本为github第三方扩展 (php官房不支持 php 7)

https://github.com/longxinH/xhprof

2.extension 目录为扩展源码安状扩展即可

phpize && ./configure && make && make install

3.编辑php.ini 启用xhprof扩展

[xhprof]

extension = xhprof.so

xhprof.output_dir = /tmp/xhprof ;性能分析数据文件存放位置 需要php用户有可写可读权限

4.对项目入口文件添加代码

  1. xhprof_enable(XHPROF_FLAGS_NO_BUILTINS +
  2. XHPROF_FLAGS_CPU +
  3. XHPROF_FLAGS_MEMORY);
  4. register_shutdown_function(function (){
  5. $data = xhprof_disable();
  6. //xhprof_lib 在第一步git clone 后的文件夹里面
  7. include '/mnt/d/www/xhprof/xhprof_lib/utils/xhprof_lib.php';
  8. include '/mnt/d/www/xhprof/xhprof_lib/utils/xhprof_runs.php';
  9. $objXhprofRun = new XHProfRuns_Default();
  10. $objXhprofRun->save_run($data, "table"); //生成数据文件后缀
  11. });

5.nginx 或者 apache 创建 网占目录(apache为例)

  1. <VirtualHost *:80>
  2. ServerName xhprof.com
  3. ## xhprof/xhprof_html 在第一步git clone 后的文件夹里面
  4. DocumentRoot "/mnt/d/www/xhprof/xhprof_html"
  5. DirectoryIndex index.html index.php index.html
  6. <Directory "/mnt/d/www/xhprof/xhprof_html">
  7. Options Indexes FollowSymLinks
  8. AllowOverride All
  9. Require all granted
  10. </Directory>
  11. </VirtualHost>

6.访问 http://xhprof.com/ (上面虚拟主机配置的 本地域名需要host )显示每次程序运行生成的性能分析数据文件 点击可以打开

php xhprof使用实例详解

php xhprof使用实例详解

7.如果想要查看性能图点击 view full callgraph (服务器需要安装 graphviz 库)

ubuntu 安装方法 (pro apt-get install graphviz)

8.显示效果图

php xhprof使用实例详解