1、安装
<code>wget <span>-c</span> http:<span>//pecl.php.net/get/xhprof-0.9.2.tgz</span> tar <span>-xzvf</span><span>.</span>/xhprof<span>-</span><span>0.9</span><span>.2</span><span>.</span>tgz cp <span>.</span>/xhprof<span>-</span><span>0.9</span><span>.2</span><span>.</span>tgz <span>.</span>/www <span>//xhprof自身带有一个web版的分析页面,放到我的web服务器下面</span> cd <span>.</span>/xhprof<span>-</span><span>0.9</span><span>.2</span>/extension /usr/<span>local</span>/php/bin/phpize <span>.</span>/configure <span>--</span>enable<span>-xhprof</span><span>--</span><span>with</span><span>-php</span><span>-config</span><span>=</span>/usr/<span>local</span>/php/bin/php<span>-config</span> make <span>&&</span> make install</code>
<code>[xhprof] extension=xhprof.so xhprof.output_dir=<span>/data/xhprof</span> /<span>/如果不加存放目录的话,默认是放在/tmp</span>下面 (注意:要有写的权限,直接 <span>777</span> 吧)!</code>
<code>service apache2 restart</code>
<code><span>// 启动xhprof</span> xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); 各种牛逼的代码。。。。。。。 <span>// 停止xhprof</span><span>$xhprof_data</span> = xhprof_disable(); <span>$XHPROF_ROOT</span> = realpath(dirname(<span>__FILE__</span>) . <span>'/..'</span>); <span>include_once</span><span>$XHPROF_ROOT</span> . <span>"/xhprof_lib/utils/xhprof_lib.php"</span>; <span>include_once</span><span>$XHPROF_ROOT</span> . <span>"/xhprof_lib/utils/xhprof_runs.php"</span>; <span>// 保存统计数据,生成统计ID和source名称</span><span>$xhprof_runs</span> = <span>new</span> XHProfRuns_Default(); <span>$run_id</span> = <span>$xhprof_runs</span>->save_run(<span>$xhprof_data</span>, <span>"xhprof_foo"</span>); <span>//source名称是xhprof_foo</span><span>// 查看统计信息</span><span>echo</span><span>"<div><a href="../xhprof_html/index.php?run=%22</span>%20.%20<span>%24run_id</span>%20.%20<span>%22&source=xhprof_foo" target="_blank">XHProf view</a></div>"</span>; </code>
2、显示结果
有分表格形式和图片显示各个函数的调用情况
表格的这样些字段
列名 描述
Function Name 方法名称。
Calls 方法被调用的次数。
Calls% 方法调用次数在同级方法总数调用次数中所占的百分比。
Incl.Wall Time (microsec) 方法执行花费的时间,包括子方法的执行时间。(单位:微秒)
IWall% 方法执行花费的时间百分比。
Excl. Wall Time (microsec) 方法本身执行花费的时间,不包括子方法的执行时间。(单位:微秒)
EWall% 方法本身执行花费的时间百分比。
Incl. CPU (microsecs) 方法执行花费的CPU时间,包括子方法的执行时间。(单位:微秒)
ICpu% 方法执行花费的CPU时间百分比。
Excl. CPU (microsec) 方法本身执行花费的CPU时间,不包括子方法的执行时间。(单位:微秒)
ECPU% 方法本身执行花费的CPU时间百分比。
Incl.MemUse (bytes) 方法执行占用的内存,包括子方法执行占用的内存。(单位:字节)
IMemUse% 方法执行占用的内存百分比。
Excl.MemUse (bytes) 方法本身执行占用的内存,不包括子方法执行占用的内存。(单位:字节)
EMemUse% 方法本身执行占用的内存百分比。
Incl.PeakMemUse (bytes) Incl.MemUse峰值。(单位:字节)
IPeakMemUse% Incl.MemUse峰值百分比。
Excl.PeakMemUse (bytes) Excl.MemUse峰值。单位:(字节)
EPeakMemUse% Excl.MemUse峰值百分比。
图片的就需要去安装libpng和graphviz
安装libpng
<code>wget -c http://sourceforge<span>.net</span>/projects/libpng/files/libpng15/<span>1.5</span><span>.23</span>beta01/libpng-<span>1.5</span><span>.23</span>beta01<span>.tar</span><span>.gz</span>/download tar -xzvf ./libpng-<span>1.5</span><span>.23</span>beta01<span>.tar</span><span>.gz</span> cd ./libpng-<span>1.5</span><span>.23</span>beta01 ./configure make && make install </code>
安装graphviz
<code>wget -c http://www<span>.graphviz</span><span>.org</span>/pub/graphviz/stable/SOURCES/graphviz-<span>2.24</span><span>.0</span><span>.tar</span><span>.gz</span> tar -xzvf ./graphviz-<span>2.24</span><span>.0</span><span>.tar</span><span>.gz</span> cd ./graphviz-<span>2.24</span><span>.0</span> ./configure make && make install </code>
安装完,重启一下apache
service apache2 restart
在表格页面点击[View Full Callgraph]
就可以以图片形式来展示各个代码段的调用以性能情况
以上就介绍了ubuntu安装xhprof,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。