简介

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 xhprofphpinfo() 输出页面后 ctrl+f 查看。

使用

未完待续。。

文章目录