Eclipse for php + Xdebug搭建PHP的調(diào)試環(huán)境
第一步:到Eclipse的官網(wǎng)去下載PHP-Eclipse:http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliossr1
第二步:下載Xdebug (下載地址位于:http://xdebug.org/download.php,我的PHP版本為 PHP 5.3.28 Thread Safety, Apach為2.2.25,使用的端口號8080),我下載的Xdebug版本為php_xdebug-2.2.3-5.3-vc9.dll,并且放入到"PHP/ext目錄中。
第三步:在PHP5里面找到php.ini,在這個文件的最后面加入如下配置信息:
zend_extension = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
;extension = php_xdebug-2.2.3-5.3-vc9.dll
[Xdebug]
xdebug.auto_trace = On
xdebug.show_exception_trace = On
xdebug.remote_autostart = On
xdebug.remote_enable = On
xdebug.collect_vars = On
xdebug.collect_return = On
xdebug.collect_params = On
xdebug.trace_output_dir=”D:/xDebugLog”
xdebug.profiler_output_dir=”D:/xDebugLog”
xdebug.profiler_enable=On
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
這里要特別注意:如果在文件里有其他的zend_extension_ts,需要注釋掉,否則apache無法啟動。
第四步:啟動apache。
第五步:在eclipse的項目里的Properties里面找到"PHP Debug",在PHP Debugger里面選擇"XDebug"
第六步:再在Windows->Preferences里面配置下PHP Servers
第七步:再在Windows->Preferences里面配置下PHP Executables
第八步:再在Run->Debug Configurations里面確認(rèn)Path Mapping的配置和第六步中的一致。
接下來,進(jìn)入debug界面,就可以開始設(shè)置斷點進(jìn)行debug了。
配置中遇到的問題:
1、在phpinfo();打印的信息中一直找不到Xdebug的字樣。
解決辦法:在php.ini文件中,作如下修改:
zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
[Xdebug]
xdebug.auto_trace = On
修改為:
;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
extension = php_xdebug-2.2.3-5.3-vc9.dll
[Xdebug]
xdebug.auto_trace = On
2、在代碼中添加斷點,但是斷點無效,不能停止。
解決辦法:在php.ini文件中,作如下修改:
;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
extension = php_xdebug-2.2.3-5.3-vc9.dll
[Xdebug]
xdebug.auto_trace = On
修改為:
zend_extension = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll
;extension = php_xdebug-2.2.3-5.3-vc9.dll
[Xdebug]
xdebug.auto_trace = On
我的php版本明明是Thread safe,但是此處使用zend_extension_ts,卻不行,不太明白。
3、斷點只能在第一行起效,后面的仍不能停止。
解決辦法:參考上面第五步,選中Use MultiSession;參考上面第八步,確認(rèn)Path Mapping的配置。