当前环境 ubuntu20.04 php7.4.3
用pecl install xhprof
安装完成后修改php.ini 添加扩展和设置日志输出
## 添加扩展
extension=xhprof.so
## 设置输出路径
xhprof.output_dir=/home/asd/xhprof/log
完成后重启php
在入口文件增加代码
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);
注册php在终止执行时的函数
register_shutdown_function(function(){
$data = xhprof_disable(); //返回运行数据
//xhprof_lib 在下载的包里存在这个目录,记得将目录包含到运行的php代码中
include '/usr/share/php/xhprof_lib/utils/xhprof_lib.php';
include '/usr/share/php/xhprof_lib/utils/xhprof_runs.php';
$objXhprofRun = new \XHProfRuns_Default();
$objXhprofRun->save_run($data, "test"); //test 表示文件后缀
});
运行。发现/home/asd/xhprof/log下有日志文件
查看关系图
将/usr/share/php/xhprof_html 设置成可以通过nginx访问,访问index.php文件可以查看图
查看图之前需要安装 sudo apt install graphviz