時間 2014-01-25 00:53:55 CSDN博客原文 http://blog.csdn.net/zztfj/article/details/18750295php
Eclipse for php + Xdebug搭建PHP的調試環境ios
第一步:到Eclipse的官網去下載PHP-Eclipse: http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliossr1apache
第二步:下載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目錄中。app
第三步:在PHP5裏面找到php.ini,在這個文件的最後面加入以下配置信息:eclipse
zend_extension = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dllui
;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dllspa
;extension = php_xdebug-2.2.3-5.3-vc9.dll.net
[Xdebug]ssr
xdebug.auto_trace = Ondebug
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裏面確認Path Mapping的配置和第六步中的一致。
接下來,進入debug界面,就能夠開始設置斷點進行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 ;參考上面第八步,確認 Path Mapping 的配置。