一:安装
安装方法一:编译安装
1、下载PHP的XDebug扩展,网址:http://xdebug.org/
# wgethttp://pecl.php.net/get/xdebug-2.1.2.tgz
# tar -xzf xdebug-2.1.2.tgz
# xdebug-2.1.2
# cd xdebug-2.1.2
# /usr/local/php/bin/phpize
# ./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config
# make && make install
不需要自己拷贝xdebug.so了,下面可以省。
# cp modules/xdebug.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613
注:/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/不同的PHP版本路径不同,也不一定要放在该路径,可以在zend_extension_ts中自行指定xdebug.so所在位置。
================================================
安装方法二:自动安装
sudo apt-get install php5-xdebug
二:修改php配置模块
1.配置
修改php.ini,去除PHP加速模块,增加以下配置信息支持XDebug扩展
[xdebug]
xdebug.remote_enable = 1
xdebug_remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
zend_extension=/usr/lib/php5/20100525+lfs/xdebug.so
xdebug.profiler_enable = on
xdebug.default_enable = on
xdebug.trace_output_dir="/tmp/xdebug"
xdebug.trace_output_name = trace.%c.%p
xdebug.profiler_output_dir="/tmp/xdebug"
xdebug.profiler_output_name="cachegrind.out.%s"
2.查看xdebug扩展是否安装成功
php -m
3.权限
mkdir /tmp/xdebug
chmod 755 /tmp/xdebug
chown www:www /tmp/xdebug
4.重启php5-fpm
service php5-fpm restart
说明:如果phpinfo()没有打印这个信息说明没有配置正确!
5.停用
说明:如果不分析系统一定要记得关闭xdebug.profiler不然会生成许多文件
xdebug.profiler_enable=off
三:分析系统
1.访问你的网站
将首页上各种链接点击几遍,XDebug在/tmp/xdebug目录生成文件
2.使用图形分析工具wincachegrind分析生成的文件
下载地址:http://sourceforge.net/projects/wincachegrind/files/
3.下载图形化工具kcachegrind在windows下的可执行版
下载地址http://sourceforge.net/projects/precompiledbin/files
用kcachegrind来看会更形象,注意需要修改从linux中执行的文件的php文件路径,这样就可以了sourcecode.
查看代码执行顺序
其他使用参考:xdebug基本使用
===================================
===================================
NetBeans配置Xdebug
http://blog.csdn.net/21aspnet/article/details/6754034
===================================
另外还有一个扩展也很好:
http://pecl.php.net/package/xhprof
安装参考:
http://www.phpv5.com/blog/archives/66
参考:
用 kcachegrind 调优 squid 2.7 笔记
http://blog.sunyixing.com/archives/378