快速业务通道

在php中使用xdebug

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22

听说xdebug 的大名,等见到他的时候已经是 xdebug 2.0.0rc3 的发行版了,没有用过Xdebug 1.3.1,,感觉就是 profile 变化比较大,正好需要的就是php profile 功能.我照着他 下载他的 doc.tar.gz ,解压,发现里面,就是几个txt文件,后来才发现写的还都是1.3的.上官方网站的在线文档才能看到,提供下载的文档都以落后了,主页上面的文档还是很全的。又学会一点,

经常上他的主页看看,不管有没有更新。

安装很顺利就是,完毕之后不知道如何开启功能,第一个看到的明显变化就是var_dump()

的输出变地漂亮些,再也没有发现什么,debug 功能,目前不需要,感觉有时间debug ,不如,多几个var_dump

和注释掉一些代码,多测试几便。打断点和启动debug ,花的时间太长了。

后来xdebug.org/docs-profiling2.php

找到profile 的文档,

测试了php 5 中的 file_get_contents 函数 ,php4 中使用php写的 et_get_file_contents ,一样的功能。

测试结果在,大概性能1:4左右

等有时间了写一分详细点的,

php.in加入xdebug的设置

zend_extension="/opt/lib/xdebug.so"

xdebug.profiler_enable=On

xdebug.show_exception_trace=1

xdebug.auto_trace=On

xdebug.auto_profile=On

xdebug.profiler_output_dir=/profile

xdebug.profiler_output_name=script

xdebug.profiler_append=1

zend_extension="/opt/lib/xdebug.so"

加载xdebug,使用的是zend_extension,而非extension

xdebug.auto_profile=On

开启自动profile功能

xdebug.profiler_output_dir

设置xdebug profiler的数据存放目录

xdebug.profiler_output_name=script

设置xdebug profiler的输出的数据文件以php script名字

如mnt_d_phplib_phpsys2_phpinfo_php_cachegrind.out

否则cachegrind.out.1447918559

xdebug.profiler_append=1

是否追加到文件里面,统计结果以累计运行次数计算,

还是每次运行计算,覆盖上次profile的结果.

profiler输出的数据文件比较大,如果都append的话,

压力测试的时候会产生,很多数据,上面一个小的例子产生540多k的数据

www:/opt/APC-3.0.14 # php -v

PHP 5.2.2 (cli) (built: May 5 2007 18:43:05)

Copyright (c) 1997-2007 The PHP Group

Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

with Xdebug v2.0.0RC3, Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, by Derick Rethans

建立/profile目录,归属于daemon组(apache)

xdebug的profile数据存储目录

www:/profile # ls -alh

total 2.1M

drwxr-xr-x 2 daemon root  4.0K May 28 23:10 .

drwxr-xr-x 27 root  root  4.0K May 28 23:12 ..

-rw-r--r-- 1 daemon daemon  81 May 11 16:07 cachegrind.out.1447918559

-rw-r--r-- 1 daemon daemon  83 May 11 16:08 cachegrind.out.1684987209

-rw-r--r-- 1 daemon daemon 251 May 11 16:04 cachegrind.out.2087252671

-rw-r--r-- 1 daemon daemon 125 May 11 16:08 cachegrind.out.2223812003

-rw-r--r-- 1 daemon daemon 229 May 11 17:00 cachegrind.out.2255568671

-rw-r--r-- 1 daemon daemon 168 May 11 16:04 cachegrind.out.3504195729

-rw-r--r-- 1 daemon daemon 590K May 11 17:05 cachegrind.out.3859082558

-rw-r--r-- 1 daemon daemon  79 May 11 16:09 cachegrind.out.3862590652

-rw-r--r-- 1 daemon daemon 380 May 11 16:31 cachegrind.out.3965311212

-rw-r--r-- 1 daemon daemon 422 May 11 15:39 cachegrind.out.45974958

-rw-r--r-- 1 daemon daemon 16K May 11 16:11 cachegrind.out.924881639

-rw-r--r-- 1 daemon daemon 1.2M May 28 23:31 mnt_d_phplib_ph

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号