编译安装
下载xhprof:https://pecl.php.net/package/xhprof
自行解压【如果不会,这个可以百度了,的学习了】
cd xhprof/extension【就是进入到你解压的目录里面】
执行:/path/to/php/bin/phpize【这个就是你的phpize目录,找到自己的路径或者直接运行phpize,还是找不到就whereis phpize应该可以找到phpize】
执行:make && make install
这里就算编译完成了
配置php.ini
添加以下几行【什么?找不到php.ini。。。。那就whereis php.ini】:
[xhprof]extension=xhprof.soxhprof.output_dir=/path/output/dir #这个目录是分析性能输出目录
配置nginx
.xhprof会将收集到的性能数据按文件(一次数据收集存放一个文件)存放在xhprof.output_dir指定的目录(注意添加写权限)下,并通过xhprof/xhprof_html目录下的php脚本程序提供网页形式的展示,所以还需配置web服务提供对该脚本程序的访问,以nginx为例:
server { listen 8080; server_name localhost; root /path/xhprof/xhprof_html; location / { index index.html index.php; try_files $uri /index.php?$query_string; } location ~ \.php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param script_filename $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } }安装依赖xhprof_html提供的web展示功能可以提供代码调用逻辑图,但依赖于工具dot(即该逻辑图是使用dot语言写的),所以需要额外安装依赖graphviz,例如在centos上:
实战
要对目标php程序进行性能分析,需要在程序中注入xhprof提供的方法调用,来收集性能数据,然后通过命令行执行或http请求来触发。剩下的自己去干吧。。。好运。
