Eclipse for php + Xdebug搭建PHP的調試環境

來源:互聯網
上載者:User

Eclipse for php + Xdebug搭建PHP的調試環境

 

    第一步:到Eclipse的官網去下載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裡面確認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的配置。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.