环境
Mac + PHP7 + Nginx
安装
这里采用的 pecl 方式安装
// 下载
wget https://pecl.php.net/get/xhprof-2.1.3.tgz
// 安装
pecl install xhprof-2.1.3.tgz
配置 php.ini
[xhprof]
extension=xhprof.so
# 报告文件存储位置,推荐配置一下。不配的话会使用'系统临时目录' - 从源码的 `$dir = sys_get_temp_dir();` 得知
xhprof.output_dir=/var/www/xhprof/xhprof_runs/
检查
-
php -m
-
phpinfo()
(记得重启php-fpm)
使用示例
xhprof_enable(XHPROF_FLAGS_MEMORY | XHPROF_FLAGS_CPU);
/**
...
被检查的php代码
...
**/
$xhprof_data = xhprof_disable();
// 引入xhprof | 这里的绝对路径可以自己 `find / -name xhprof_runs.php` 搜索下
include_once "/usr/local/share/pear/xhprof_lib/utils/xhprof_lib.php";
include_once "/usr/local/share/pear/xhprof_lib/utils/xhprof_runs.php";
$instance = new XHProfRuns_Default(); // 有命名空间的项目可能需要这样写 $instance = new \XHProfRuns_Default();
$run_id = $instance->save_run($xhprof_data, "xhprof");
var_dump($run_id);
配置查看页面
- nginx 配置
server {
listen 80;
server_name xhprof.test.com;
root /usr/local/share/pear/xhprof_html;
index index.html index.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
-
查看
相关链接
- package xhprof : https://pecl.php.net/package/xhprof
- github xhprof :https://github.com/longxinH/xhprof
- 参考链接 :https://www.jianshu.com/p/38e3ae81970c
- XHProf 报告字段含义解析 :https://www.jb51.net/article/84456.htm
网友评论