2012-12-17 71 views
8

我試圖在下列情況下使用了XDebugXdebug的遠程服務器未連接 - netbeans的

  • 我的電腦的Windows 7上,NetBeans 6.9
  • 在計算機
  • 物理主機在同一網絡上(Windows 7中)與虛擬框
  • 虛擬CentOS 6.2,與Apache服務器2.2.15和PHP 5.3.3
  • 我的網站的PHP代碼是在CentOS上的共享文件夾,在/ var/www/html/mysite和有單獨並可以通過服務器ip訪問它192.168.1.240
  • 編輯C:\ WINDOWS \ SYSTEM32 \ DRIVERS \等\主機192.168.1.240 mysite
  • PHP代碼是從我的Windows主機訪問,對\\HostIP\html\mysite,與R/W權限

我上創建一個NetBeans項目我電腦,指向\\HostIP\html\mysite。在項目運行的配置,我有以下幾點:

  • 運行方式:遠程網站
  • 項目網址:http://mysite/
  • 索引文件:index.php文件(沒有項目存在)

在高級運行配置:

  • 我查了 「默認」
  • 我沒碰過的代理服務器設置

在php.ini我有以下我的CentOS VM

;extension=xdebug.so 
zend_extension="/usr/lib64/php/modules/xdebug.so" 
xdebug.remote_enable=on 
xdebug.remote_log="/var/log/xdebug.log" 
;xdebug.remote_host=192.168.1.31 
xdebug.remote_connect_back=1 
xdebug.remote_handler=dbgp 
xdebug.remote_port=9000 

注:我試過的配置,在extension=xdebug.so,並試圖評論xdebug.remote_connect_back=1與取消註釋xdebug.remote_host=192.168.1.31這是我的電腦IP地址。

所以基本上我有這樣的形象 enter image description here

,但仍無法正常工作所有的配置!運行後,調試器會打開這個網址

http://mysite/index.php?XDEBUG_SESSION_START=netbeans-xdebug 

,並沒有將剛剛發生的NetBeans清單等待Xdebug的連接

+0

確保你可以在端口9000達到與NetBeans主機從CentOS的事: 的telnet 192.168.1.31 9000 – ualinker

+0

確定我試過了和「連接到192.168.1.31」。所以它的工作和服務器都可以達到的NetBeans –

+0

正常,檢查一切都很好用PHP的配置在這裏:http://xdebug.org/wizard.php – ualinker

回答

0

嘗試任何斷點設置你的執行腳本。調試會話可能不顯示,而ide不尊重「第一行中斷」標誌。

同時檢查php.ini中的xdebug.idekey屬性是否等於Netbeans設置中的ideKey。

1

當我要到遠程主機,我通常有我的本地9000端口轉發到上調試通過SSH隧道的遠程服務器的本地9000:

ssh -R 9000:localhost:9000 [email protected]

使用bitvise SSH客戶端或膩子在Windows以獲得相同的效果。

另外,在項目設置 - >運行配置 - >高級按鈕

確保指定的遠程和本地的完整路徑的項目文件,以便調試器可以附加(不用擔心這個港口屏幕離開標準)。

1

我知道這是一箇舊帖子,但它好像是我今晚跑過的那個。

NAT網絡安裝是獲取最少衝突的方法。在Windows 7防火牆中,設置一個自定義入站規則,允許入站流量通過端口9000進入VM所在的整個/ 24網絡(192.168.202/24)。

我的工作XDebug的設置在php.ini,使用2.2.7的Netbeans 8.0.2

zend_extension=xdebug.so 

xdebug.remote_enable=1 
xdebug.remote_connect_back=1 
xdebug.remote_port=9000 
xdebug.idekey="netbeans-xdebug" 
xdebug.show_local_vars=0 
;xdebug.extended_info=1 
xdebug.output_buffering=off 
xdebug.remote_log=/var/log/xdebug.log 

最後,我想指出的是,Netbeans的偵聽遠程地址在遠程文件config中設置。做一個快速的netstat -an表明Netbeans正在監聽端口9000,在我的初始橋接網絡設置的舊地址上有一個CLOSE_WAIT狀態。 即使在更改項目URL和遠程連接IP地址並關閉了幾個xdebug連接後,這種情況從未改變。只有在關閉Netbeans之後,舊的連接纔會下降。一旦Netbeans再次啓動,新的遠程服務器URL將用於遠程xdebug連接。

從來沒有討論過提到存在陳舊狀態的Netbeans,並且從IDE停止xdebug連接的能力給重新設置套接字帶來了錯覺。

如果仍然無法正常工作,使用提供debugclient在虛擬機上,用「?XDEBUG_SESSION_START =於NetBeans XDebug的」附加到的index.php URL訪問項目頁面,並觀看了XDebug的信息來至少你知道它在本地工作。