2011-03-12 94 views
2

我無法將PHP腳本作爲腳本進行調試。它始終在啓動後立即終止。我在我的php.ini中設置了一個Xdebug日誌,但它完全沒有幫助。 Xdebug 確實顯示在我的phpinfo()中,所以我知道它在Apache中加載。在Eclipse PDT和XAMPP中使用XDebug

我也可以將代碼作爲網頁進行調試(它不提供有關變量的信息,並且不會在斷點上停止),所以我知道Eclipse具有適當的服務器設置。兩個調試選項都使用相同的PHP exe(與XAMPP一起安裝的,使用vc6編譯器編譯的php 5.3.1)。我確信Xdebug的編譯符合這些設置。

在一個可能相關的說明:我注意到我只能用zend_extension命令加載Xdebug,而不是zend_extension_ts,即使我的PHP版本確實是線程安全的?我不得不承認我有點困惑。

我也非常肯定,無論我在Eclipse中選擇「XDebug」,我都會這麼做。我跟着兩篇教程在這裏無濟於事。有人有主意嗎?我已經嘗試了與我的XAMPP(2.0.6-dev)捆綁在一起的Xdebug版本,並且我還下載了一個新的.dll 2.1版。

謝謝!

回答

-1

首先下載XDebug的 的dll然後編輯php.ini文件 zend_extension_ts =「C:\ XAMPP \ PHP \ zendOptimizer \ LIB \ ZendExtensionManager.dll」 確保該行註釋掉 重啓Apache 確保您正在編輯正確的php.ini文件

6

Excellent instructions for Setup XDebug on XAMPP and Eclipse @ user629300說明適用於3.5之前的eclipse版本,請參閱鏈接以獲取有關基於版本的指令的說明。也Getting XDebug to work with apache xampp to debug php,有很好的解釋圖片。雖然它們有點陳舊。


從第一環節的細節總結,假設PHP> 5.3(其中希望大家現在正在運行!):

  • 請確保您的php.ini文件包含以下內容:

    [XDebug] 
    zend_extension={xampp-folder}\php\ext\php_xdebug.dll 
    xdebug.remote_enable=1 
    xdebug.remote_host="localhost" 
    xdebug.remote_port=9000 
    xdebug.remote_handler="dbgp" 
    
  • 卸下[Zend]標題下的任何配置條目,特別是那些與起始zend_extension
  • 配置Eclipse:
      在窗口
    • - >首選項 - > PHP - >服務器,配置PHP服務器使用了XDebug,加上基本URL和本地Web根
    • 在 - >安裝調試,配置XDebug的遠程接受會議
    • (可選?)配置PHP可執行文件指向您的XAMPP安裝php.exe的

您現在應該能夠通過添加XDEBUG_SESSION_START到的查詢字符串中打在Eclipse中的斷點URL,例如G。 http://localhost/?XDEBUG_SESSION_START

+1

對於像我這樣愚蠢的人來說,他傾向於從第一個鏈接的示例中盲目地轉移配置行,並且無法使其工作:所使用的引號是_smart_即''''和''' - 它們應該改爲普通雙引號''' – 2015-06-03 19:58:59

+0

不要忘記停止然後重新啓動Apache以使新的PHP.INI被讀取 – Mawg 2016-10-29 13:08:27

+0

您可以使用此Chrome插件在您想調試時定義de XDEBUG_SESSION_START。這可以幫助您進行POST調用。https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc?hl=fr – 2018-02-07 14:03:21