作者:Aliot
发布时间:2017-07-02
评论:0
阅读:0
听说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)