加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

借助PHP扩展Xhprof分析项目性能实践教程

发布时间:2022-07-02 17:11:04 所属栏目:PHP教程 来源:互联网
导读:一、背景 项目即将上线,想通过一些工具来分析代码的稳定性和效率,想起在上个团队时使用过的xhprof扩展;因为换了新电脑,所以需要重新编译此扩展,现将安装与实际排查过程完整记录下来,方便自己回顾和帮助更多的读者。 XHProf 是 FaceBook 开发的一个函数
  一、背景
 
  项目即将上线,想通过一些工具来分析代码的稳定性和效率,想起在上个团队时使用过的xhprof扩展;因为换了新电脑,所以需要重新编译此扩展,现将安装与实际排查过程完整记录下来,方便自己回顾和帮助更多的读者。
 
  XHProf 是 FaceBook 开发的一个函数级别的 PHP 分层分析器。
 
  二、操作步骤
 
  安装扩展
 
  配置扩展
 
  测试分析
 
  三、安装
 
  xhprof扩展PHP并不自带,需要笔者去单独安装它,安装之后才能使用,笔者这里采用源码安装方式,安装过程如下
 
  3.1 下载源码
 
  xhprof在PHP的PECL官方上面已经比较老了,笔者的PHP版本为PHP7.1因此,需要在GitHub上下载xhprof上比较新的源码,参考命令如下
 
  git clone https://github.com/longxinH/xhprof
 
  3.2 检测环境
 
  进入编译的文件夹,参考命令
 
  cd xhprof/extension/
 
  现在笔者需要编译一下源码,在编译之前可以使用phpze来探测PHP的环境,参考命令如下:
  phpize
   开始编译,并进行安装
 
  make && make install
 
  返回结果如下
 
  Build complete.
  Don't forget to run 'make test'.
   
  Installing shared extensions:     /usr/local/Cellar/php@7.1/7.1.19/pecl/20160303/
  从返回信息中可以看到已经安装完成,并显示了扩展文件存放的位置
 
  四、配置
 
  在编译安装源码之后,笔者还需要对PHP的配置文件夹以及xhprof的进行一些简单的配置,操作过程如下所示
 
  4.1 找出配置文件位置
 
  要修改PHP的配置首先需要知道配置文件在什么位置,这里可以通过PHP的命令来查看配置文件存放位置,参考命令如下:
 
  php --ini
 
  执行命令后,返回结果如下
 
  Configuration File (php.ini) Path: /usr/local/etc/php/7.1
  Loaded Configuration File:         /usr/local/etc/php/7.1/php.ini
  Scan for additional .ini files in: /usr/local/etc/php/7.1/conf.d
  Additional .ini files parsed:      /usr/local/etc/php/7.1/conf.d/ext-opcache.ini
  在返回结果当中,可以看到多个配置文件的路径,笔者所需要的是第二个文件php.ini
 
  查看扩展目录存放位置,参考命令如下
 
  cat /usr/local/etc/php/7.1/php.ini | grep extension_dir
 
  返回结果如下
 
  extension_dir = "/usr/local/lib/php/pecl/20160303"
  ; extension_dir = "ext"
  ; Be sure to appropriately set the extension_dir directive.
  ;sqlite3.extension_dir =
  4.2 修改配置
 
  从返回的结果当中,可以看到扩展的存放目录位置如下
 
 
  vim /usr/local/etc/php/7.1/php.ini
 
  在配置文件尾部增加xhprof的配置,以及自定义一个用来保存xhprof生成的源文件参考配置如下:
 
  [xhprof]
  extension=xhprof.so
  xhprof.output_dir=/data/www/xhprof/save_output_dir
  4.3 重启生效
 
  保存好之后,笔者重启php-fpm让其配置生效,重启命令可以通过brew命令来查看,参考命令如下:
 
  brew info php@7.1
 
  在命令执行后,返回的信息中可以看到如下信息
 
  To have launchd start php@7.1 now and restart at login:
   brew services start php@7.1
  Or, if you don't want/need a background service you can just run:
   php-fpm
  因此笔者构造的重启PHP-FPM命令如下:
 
  brew services restart php@7.1
 
  重启完成后,返回结果如下
 
  Stopping `php@7.1`... (might take a while)
  ==> Successfully stopped `php@7.1` (label: homebrew.mxcl.php@7.1)
  ==> Successfully started `php@7.1` (label: homebrew.mxcl.php@7.1)
  4.4 验证安装
 
  现在验证xhprof扩展是否已经安装完成,参考命令如下
 
  php -m | grep xhprof

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读