使用XHPorf(源自Fackbook的PHP性能分析工具)
window下使用安装
下载好xhprof.tgz和DLL解压
将php_xhprof.dll放到php的ext目录下
设置php.ini添加
1
2
3
4
5
6
7
8
9 [xhprof]
extension=php_xhprof.dll
; directory used by default implementation of the iXHProfRuns
; interface (namely, the XHProfRuns_Default class) for storing
; XHProf runs.
;
;xhprof.output_dir=<directory_for_storing_xhprof_runs>
;调试信息的保存路径
xhprof.output_dir=D:\tem
安装 Graphviz
修改xhprof_lib\utils\callgraph_utils.php第110行为Graphviz安装目录下的bin\dot
1 $cmd = '"D:\Program Files\Graphviz\bin\dot" -T'.$type;
linux下安装
下载好xhprof.tgz和DLL解压
进入解压目录下的extension目录
1
2
3
4 #cd extension/
#phpize
#./configure --with-php-config=/www/server/php/74/bin/php-config
#make && make install
编辑php.ini添加以下配置
1
2
3 [xhprof]
extension=xhprof.so
xhprof.output_dir=/www/xhprof
重启php。若报错NOTICE: PHP message: PHP Warning: PHP Startup: xhprof: Unable to initialize module,那便是xhprof扩展版本与当前PHP版本无法匹配
使用示例
1
2
3
4
5
6
7
8 xhprof_enable();
/*代码内容*/
$xhprof_data = xhprof_disable();
include_once "./utils/xhprof_lib.php";
include_once "./utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
var_dump($run_id);
打开xhprof_html/index.php查看分析结果