tideways + xhgui 搭建 php 性能检测环境
- php
- 2021-02-03
- 3951
- 0
tideways + xhgui 搭建 php 性能检测环境
tideways 作为 php 扩展,收集程序运行中的各种参数,并且存储在 MongoDB 中,xhgui 作为 web 页面,负责取数据和可视化操作
tideways 介绍
xhprof 扩展是 Facebook 开发的,但是目前已经不再维护和更新,不支持 php7 及以上的版本,tideways 是在 xhprof 上 fork 出来继续维护的项目,是开源项目。只是 UI 部分收费
xhgui 项目
是一个可视化 web 界面,目前好像支持到 php7.2,在使用中,项目开发可以使用 php7.4 ,但是指向 xhgui 目录的用 php7.2 打开
安装
安装 MongoDB
### mac
brew tap mongodb/brew
brew install mongodb-community@4.2
### centos
yum install -y mongodb-org
运行 MongoDB
mongod --config /usr/local/etc/mongod.conf
安装 tideways 扩展
wget https://github.com/tideways/php-xhprof-extension/archive/master.zip
解压
cd php-xhprof-extension-master
phpize
./configure
make
make install
配置 php.ini
extension=tideways.so
tideways.auto_prepend_library=0
安装 xhgui
1、安装
git clone https://github.com/yiqiang3344/xhgui-branch.git
cd xhgui
php install.php
2、 修改配置
配置文件位于项目目录下的 config/config.default.php
3、在 webroot 路径下执行
注意在 php7.4 下,web 页面打开会报错,所有这里的 php 版本应该 <= 7.2
/usr/local/Cellar/php@7.2/7.2.34_1/bin/php -S 0.0.0.0:2048
在项目中引用
1、嵌入式
在入库文件中添加
//重点是这句, 在项目中引入
require '/home/xhgui-branch/external/header.php';
2、非嵌入式
修改 php.ini 文件,重启服务即可
auto_prepend_file=/path/wwwroot/xhgui-branch/external/header.php
参考链接
http://91helpme.com/show-38.html
https://m.php.cn/topic/php7/455354.html
https://www.cnblogs.com/pheye/p/7717712.html
https://github.com/tideways/php-xhprof-extension( tideways 扩展 )
https://github.com/yiqiang3344/xhgui-branch(xhgui 可视化 )