最新最详细最简洁Eclipse调试PHP配置详解(Xdebug,Zend Debugger)
搬家注:该日志写于2011 年 04 月 07 日,Eclipse,PHP等版本号很多,更新也比较快,请注意文章中的版本。本文不一定帮您解决问题,但能给您一些解决问题的思路及一些概念。
最近开始做SRTP项目WebOS,于是又开始了PHP之旅。搭建PHP环境又用了一两天,一个字,烦。遇到了很多问题,从Apache+php+mysql的配置到 Eclipse+PHP+XDebug(Zend Debbuger也同时配置了)的开发环境搭建,各种Google,各种教程贴,各种问题帖,各种矛盾的说法,虽然大部分人都按自己说的解决了问题,但是同一个问题解答方法各异,弄得我也是一头雾水,突然觉得这大部分时间都在为Google添加利润点击广告罢了。
搜索了很多,也解决了不少问题,得到了很多感悟,不知从哪个说去,一点点来吧。关于配置Apache+php+mysql,我将在另一篇日志中说说我的经验。
先说说我的各种版本,搜索引擎最大浪费就在与很多很过时的东西,很多都在说Eclipse3.2,3.4,php5.1等等,于是各种悲剧,感觉和小白鼠像极了。
操作系统:Win7 Ultimate
Eclipse:Eclipse for PHP Developers(Version: Helios Release,Build id: 20100617-1415)这里说一下,Pdt我没配,但是Debug插件的配置和eclipse关系不太大。
PHP:php5.2.17 TS(thread safety)vc6(刚从官网下的)官网上分两种版本5.3.6的vc9版本和5.2.17的vc6版本,vc9是在IIS下用的,而vc6是在apache下用的(左边有说明),每个版本又分为thread safe和non thread safe的(和下面的debug插件配置有关),一般推荐下载thread safe。
XDebug 2.1.1(官网)版本很多,不过有个链接可以帮你选择。(主要三个方面TS or not,vc6 or vc9,32 bits or 64 bits). 我选择PHP 5.2 VC6 TS (32 bit) .
Zend Debugger: 这个最麻烦,需要注册才能下载,它在推广Zend Studio。插件名叫Studio Web Debugger,windows版本名字叫ZendDebugger-20100729-cygwin_nt-i386.zip,里面有各种版本的debugger,一定要注意5_x_x_和nts(这个是non thread safety),TS的要用5_2_x_comp(和Xdebug反了过来)。另外把dummy.php拷到根文档下(http://localhost:8081/dummy.php)为了在Eclipse中测试成功与否。
弄好各种版本之后,就开始配置了,就是一个php.ini的配置。
这里先说下Eclipse中调试的两种方式: Debug as PHP script 和 Debug as PHP web page。
Debug as PHP script是直接调用php.exe解释的,不用开apache也能调试(事实上和apache无关)。但是缺陷也很大,不能在浏览器中打开网页,也没办法得到cookie,post等的值,即$_COOKIE, $_REQUEST等(可以再命令行参数中舍,但是很不方便,也不好用)。
Debug as PHP web page其实就是一种特殊的远程调试,可以在浏览器中打开网页,然后执行,可以动态的得到cookie等值,我就是用这种模式调试的,不过既然是 Remote debugging,就要在配置中开起来,否则这种调试设了断点也不起作用。下面配置会说到。
好了,Xdebug的配置
;这一行没有也没关系
zend_extension_ts = “C:\Program Files\PHP\ext\php_xdebug-2.1.1-5.2-vc6.dll” ;注意ts指的是thread safety,此版本的一定要有。最好写上文件的整个路径,相对路径问题很大,很可能出问题。
xdebug.remote_enable = On ;其实官网上的配置没有给这一句,如果不配置这项,那么就没办法使用Debug as PHP web page了,所以还是开了。
网上有很多项,我只配置了这两项也照常使用,因为我不知道网上说的其他项的意思,我就没配。当然,一可以去查官方文档,第二在phpinfo里面xdebug下每一配置项都列出来了,你想配哪项配哪项。
配置成功的标志,查看phpinfo,能看到下面两项
http://lspvic.co.de/wp-content/uploads/2011/04/xdebug-300x43.png
看有Xdeug
http://lspvic.co.de/wp-content/uploads/2011/04/xdebug2.png
配置项挺多的,慢慢去研究吧
Zend debugger配置,php.ini中
zend_extension_ts = “C:\Program Files\PHP\ext\ZendDebugger.dll”;同样注意ts和完整的路径。
zend_debugger.allow_hosts=127.0.0.1,192,168.0.4;允许调试的主机IP,
zend_debugger.expose_remotely=always;就是远程调试,debug as php web page就要用这个
同样我也配置了上面三项就正常使用了。
配置成功的标志,查看phpinfo。
http://lspvic.co.de/wp-content/uploads/2011/04/zend-300x54.png
http://www.iyunv.com/lspvic/archive/2011/05/27/data:image/png;base64,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
有这个就配置成功啦。
Eclipse的配置还没说呢,其实到这如果懂了Debug as php script和debug as php web page的原理Eclipse的配置也就很简单了,无非是在Eclipse选项-》php-》debug里面配置一下就好了,有php executables(php.exe),php servers注意端口(如http://localhost:8081),两个debug插件的端口(默认一个9000一个10000)就不要乱改了。另外,如果配置了Zend Debugger,注意把前面的dummy.php拷过去才能点击test Debbuger成功哦。下面在php文件上点击断点,在文件上右击Debug as 就可以开始了,对就这么简单。
总结一下配置的整个过程中容易出错的地方:
[*]版本的对应关系要对,如php和debug插件的版本一致。
[*]一定要注意ts(thread safe)和nts(none thread safe),有时候标注的是ts,另一个版本不标注;有时候标注的是nts,而ts就不标注。
[*]注意官方文档坚决的说明,Apache下一定要用php vc6版本的。
[*]两个插件中的zend_extension_ts中最好写上完整路径,相对路径这东西和环境变量有关,问题很大。
[*]配置debug插件成功与否与Eclipse无关,建议先配置能够在phpinfo中成功了再去在Eclipse中设置。
[*]莫名其妙的错误怎么办,最好的办法是查看apache错误日志:在 apache安装目录下的logs/eroror.log文件中有详细记录,这个我将它称作解决问题的终极大杀器,看了它,你一定明白了在哪区找错误,该搜索哪些问题。比如出现了failed loadingextention “ext\ZendDebugger.dll” ,你是不是想到了apache没有找到这个dll文件或者我是不是搞错了dll文件是ts还是nts呢。这个解决办法我会在另一篇关于apache+php+mysql的文章中详细介绍。
题外话:开源软件的配置固然是繁,版本固然多,版本更新也快,软件的使用上就必然有点不得心应手了,尤其是各种软件组合在一起问题那就更多了。那么怎么解决这些问题呢,我们一般的做法是有那个问题搜索那个问题,看了一个个解决方案,一个个教程,而忽视了最根本的东西,官方文档,看了文档,你才能知其然,知其所以然。我在上面乐此不疲的提到,官方文档怎么说怎么说,就是因为我在一次次的像小白鼠一样试验着网上的各种教程的时候,最终还是官方文档帮我解决了各种问题,各种疑惑。想想现在,就是出了问题我也不怕,并且认为,一步一步像这样配置下来怎么会出问题呢。所以回归原点,才是我们解决问题的根本之所在。
注:既然我在标题中写了最新最详细最简洁的字眼,但是我的表述不一定准却,考虑也并非周全。之所以这样,是想和大家一起讨论,大家有什么问题都可以留言,我们一起来解决,让它最新最详细也最简洁,让更多的后来人少走点弯路。
页:
[1]