Posts Tagged xdebug

用xhprof替代xdebug

以前一直在用xdebug作php的性能分析,但这东西太耗性能,只能在开发机上跑跑。前几天在网上看到xhprof这东西,是facebook开源的,别人都用上一年了,我才知道,唉,落伍了,废话少说,亡羊补牢,还未晚。
一、安装xhprof

  1. wget http://pecl.php.net/get/xhprof-0.9.2.tgz
  2. tar zxvf xhprof-0.9.2.tgz
  3. cd xhprof-0.9.2
  4. cp -r xhprof_html xhprof_lib <directory_for_htdocs> # 应用程序所在目录
  5. cd extension
  6. /usr/local/php/bin/phpize
  7. ./configure  --with-php-config=/usr/local/php/bin/php-config
  8. make
  9. make install
  10. </directory_for_htdocs>

Read the rest of this entry »

,

No Comments

ubuntu 9.04下安装xdebug和kcachegrind

本文假设读者已经安装好php及web服务器
1、编译安装xdebug
到http://xdebug.org/download.php下载对应的源码包,我下的是2.0.5;

  1. tar xvf xdebug-2.0.5.taz
  2. cd xdebug-2.0.5

可以查看README,为了方便一些同学,我把主要步骤贴出来

  1. /usr/local/webserver/php/bin/phpize
  2. ./configure --enable-xdebug --with-php-config=/usr/local/webserver/php/bin/php-config
  3. make

把生成的xdebug.so放到php的lib目录下

  1. cp modules/xdebug.so /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/

编辑php.ini,加入以下内容

  1. [Xdebug]
  2. zend_extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
  3. xdebug.auto_trace=on
  4. xdebug.collect_params=on
  5. xdebug.collect_return=on
  6. xdebug.trace_output_name="%H.%s"
  7. xdebug.trace_output_dir="/data/logs/xdebug"
  8. xdebug.profiler_enable=on
  9. xdebug.profiler_output_dir="/data/logs/xdebug"
  10. xdebug.remote_port=8999

具体的配置可以参考:http://xdebug.org/docs/all_settings
注意:输出目录要预先建好,否则不会输出内容。
重启web服务器(或php-fpm)后,在phpinfo中查看是否有xdebug的信息,有的话就成功了。
2.安装kcachegrind
这个就容易多了

  1. sudo apt-get install kcachegrind

至此,你就可以用kcachegrind来分析你的PHP代码了。

, ,

No Comments