xhprof 的安装、配置和使用
简介
xhprof 是一个 facebook 开发的轻量级应用性能测试工具,用 php 写的,以 php 扩展形式安装。
之前看到一篇文章很夸张的比较了几种性能测试工具,诟病 xhprof 难装。然后广告性地推荐了一家国内的测试工具。
给新服务器装了php 7.3.3,正好想接触一下性能测试工具,数据化了解一下 php7 到底有多牛逼。不服气他的说法,就找了教程来装了。
xhprof 作为 php 的扩展,当然首选是用 pecl 进行安装:
# xhprof 扩展最新的是 2013 的 0.9.4 版本,没有稳定版所以要加 -beta
pecl install xhprof-beta
但事情远没有那么简单,报错:make 失败, Error(1) ,此路不通。
下载编译包编译安装
wget http://pecl.php.net/get/xhprof-0.9.4.tgz
tar -zxvf xhprof-0.9.4.tgz
cd xhprof-0.9.4
cd extension/
phpize
./configure
make
sudo make install
下载 ok,编译 ok,make 失败。。
随手复制了部分错误提示 ‘zend_execute_data’ has no member named ‘function_state’
,百度了一下,一些教程里推荐使用 git 库 longxinH/xhprof
。打开后,页面上展示 PHP7 support,支持7.0~7.3(我安装的php版本是7.3.3)。所以很有可能是 pecl 上的 xhprof 长时间不维护,php7 出来后不支持导致的。
git 库 longxinH/xhprof
安装
页面上提示的安装步骤和配置:
git clone https://github.com/longxinH/xhprof.git ./xhprof
cd xhprof/extension/
# phpize 路径默认添加到了 PATH 中,可以直接执行 phpize
/path/to/php7/bin/phpize
# 这里提示的是 php-config 的路径,可以用 whereis php-config 或者执行 php-config 查看
./configure --with-php-config=/path/to/php7/bin/php-config
# 最好分开执行,中间执行一下 make test,确保没有大的错误
make && sudo make install
添加到 php.ini 中的配置(不确定 php.ini 位置的,可以用 phpinfo()
输出查看)
[xhprof]
extension = xhprof.so
xhprof.output_dir = /tmp/xhprof
重启一下 php-fpm ,php -m | grep xhprof
或 phpinfo()
输出页面后 ctrl+f
查看。
使用
未完待续。。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。