Linux下用Xdebug调试php

为了调试PHP程序,安装一下xdebug.

官方网址: http://www.xdebug.org

首先下载xdebug2.1.0,在官方首页下载源代码,下载回来的文件名是:xdebug-2.1.0.tgz

xdebug的版本需与您的php版本相对应,由于偶的php是5.3.2,所以下载xdebug2.1.0

  

Xml代码  Linux下用Xdebug调试php
  1. cd /your/download/path  
  2. tar zxvf xdebug-2.1.0.tgz  
  3. cd xdebug-2.1.0  
 

运行phpize

Xml代码  Linux下用Xdebug调试php
  1. phpize  
 

     如果没有将phpize加入$PATH,则应该使用全路径

这里不需要--prefix,编译好之后直接把modules里的xdebug.so文件复制走即可。

Xml代码  Linux下用Xdebug调试php
  1. ./configure --enable-xdebug   
  2. --with-php-config=/usr/local/php/bin/php-config  
 

 

Xml代码  Linux下用Xdebug调试php
  1. make  
 

 

把xdebug.so复制到了php安装目录,装php的时候指定了安装目录,所以复制到/usr/local/php/xdebug里。随便你复制到哪都行,只要你清楚知道。。。需要改下面一条命令的路径为你自己的。

Xml代码  Linux下用Xdebug调试php
  1. cp modules/xdebug.so /usr/local/php/xdebug  
 

把下面这行添加到php.ini文件的最后。如果您定义过php.ini的存放位置,一定要找到位置哦,建议弄个phpinfo(),查看到php.ini文件的具体位置。我的位置是在:/usr/local/etc/php.ini 添加下面内容:

Xml代码  Linux下用Xdebug调试php
  1. [Xdebug]  
  2. zend_extension ="/usr/local/php5/xdebug/xdebug.so"  
  3. xdebug.profiler_enable=on   
  4. xdebug.trace_output_dir="/usr/local/php5/xdebug/"  
  5. xdebug.profiler_output_dir="/usr/local/php5/xdebug/"  
  6. xdebug.remote_enable=on             
  7. xdebug.remote_handler=dbgp            
  8. ;xdebug.remote_host=localhost  
  9. xdebug.remote_port=9999  
 

 

 注意,如果您安装过zend optimizer 那么,注意您的php.ini文件中是否已存在zend_extension= ,如果已经存在,请注释掉,在zend_extension=前加上; ,示例:

;zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"

这样,才可以正常安装运行好xdebug.

重启你的web服务器。

接下来打开phpinfo(),看看里面是否有xdebug的信息了。

ThisprogrammakesuseoftheZendScriptingLanguageEngine:

ZendEnginev2.2.0,Copyright(c)1998-2008ZendTechnologies

withXdebugv2.0.2,Copyright(c)2002-2007,byDerickRethans

可能遇到的问题

1.Cannotfindautoconf

/usr/local/php/bin/phpize

提示
Xml代码  Linux下用Xdebug调试php
  1. Configuring for:  
  2. PHP Api Version:         20041225  
  3. Zend Module Api No:      20060613  
  4. Zend Extension Api No:   220060519  
  5. Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF  
  6. environment variable is set correctly and then rerun this script.  
 

源代码目录下也没有生成configure需安装两个软件包

Xml代码  Linux下用Xdebug调试php
  1. imake-1.0.2-3.i386.rpm  
  2. autoconf-2.59-12.noarch.rpm  
 

2.configure: error: Cannot find php-config

Xml代码  Linux下用Xdebug调试php
  1. ./configure --with-php-config=/usr/local/php/bin/php-config  
 

 # 这里如果直接执行./configure很有可能会报错

# "configure: error: Cannot find php-config. Please use --with-php-config=PATH",# 你的配置文件位置可能不在这个目录,这个文件通常是在php安装目录的bin目录下的一个文件名叫做php-config或者php-config5的文件,实在找不到就find一下咯

参考资料

http://www.xdebug.org/docs/install
http://www.eclipse.org/pdt/documents/XDebugGuide.pdf
http://hi.baidu.com/zxm_xdl/blog/item/bbed77f0d9856aa7a50f52e9.html
http://hi.baidu.com/156544632/blog/item/a6b941d8fb55433332fa1c41.html
http://www.187299.com/archives/978

相关推荐