2013-07-18 190 views
9

使用PhpStorm與Xdebug的PHP的調試時,我搜索了很多對於這個問題有IDE關鍵傳入的連接,我發現3個或4個環節討論這個問題,但他們都不是useful.My的Xdebug的版本是2.2.3,PhpStorm的版本是6.03。我可以通過調試每一步踩線,除了這一個Xdebug的PhpStorm:等待

$this->link = mysql_connect($this->dbserver, $this->dbuser, $this->dbpass); 

PhpStorm顯示了這個錯誤:等待與IDE鍵「14841」傳入的連接。 這裏是我的XDebug配置:

zend_extension="/usr/lib/xdebug.so" 
xdebug.remote_autostart=1 
xdebug.show_local_vars=1 
xdebug.dump.GET=* 
xdebug.dump.POST=* 
xdebug.dump.SERVER=* 
xdebug.auto_trace=On 
; default trace output directory /tmp 
xdebug.collect_vars = On 
xdebug.trace_output_dir=/tmp 
xdebug.collect_params=4 
xdebug.collect_return=On 

xdebug.profiler_enable=Off 
; default trace output directory /tmp 
;xdebug.profiler_output_dir=/tmp 
;xdebug.profiler_enable_trigger=On 
;test.php?XDEBUG_PROFILE 
xdebug.remote_enable=On 
xdebug.remote_host="localhost" 
xdebug.remote_port=9001 
xdebug.remote_handler="dbgp" 
xdebug.remote_log = "/tmp" 
xdebug.remote_connect_back=1 
xdebug.idekey=PHPStorm 

我添加這些行「xdebug.remote_connect_back = 1 xdebug.idekey = PHPStorm」,也可以抵抗IDE,它仍然是相同的 我保證,這三個參數是正確的。

回答

4

您寫道:

PhpStorm shows this error:Waiting for incoming connection with ide key "14841".

但你使用:

xdebug.idekey=PHPStorm 

這些IDE鑰匙需要匹配。 PHP Storm對此有點有趣。

但你也說:

I could debug every line step by step except this one

$this->link = mysql_connect($this->dbserver, $this->dbuser, $this->dbpass); 

他們如何不同?是否有不同的行爲,或只是不停止?

+0

謝謝,我發現原因後來,我注意到,我忘了安裝mysql.so extension.so此功能失敗。 –

+13

好吧,但是如何讓phpstorm使用idekey「PHPStorm」而不是隨機數? – Andrew

+0

這與上面沒有任何關係。請檢查我的帖子下面 –

1

我有在本地安裝一個類似的問題。 我固定它通過取消選中該設置:使用路徑映射

設置下找到>語言&框架> PHP>服務器

+0

這是我的問題。謝謝! – racl101

+0

你爲什麼認爲解決了它?你沒有使用符號鏈接? – RichieHH

6

對於我來說,調試器從未連接,我看到了等待與IDE傳入的連接關鍵消息,因爲我設置爲我設置服務器配置端口號爲9000 這應設置爲端口80(或任何其他端口的網絡服務器是聽!這是令人困惑的我,因爲它旁邊的調試器下拉,我想通這是設置Xdebug的端口。

You do NOT want to set this value to the debug port

調試端口配置在設置 - >語言聯合&框架 - > PHP->調試。設置爲9000或任何你配置php.ini。

Set Debug port to 9000 in PHP Debug settings

剛一說明,我使用的IntelliJ IDEA,但是這一切都JetBrains的平臺。

0

我有一個類似的問題。在我的情況下,它是由誤解PHPStorm/PHP的IntelliJ調試模式引起的。有兩種模式:

  1. 「本地」 PHP調試
  2. 「遠程」 PHP調試

當您使用 「本地」 調試,IDE關鍵是自動生成的

這意味着,在http://www.jetbrains.com/phpstorm/marklets/創建的原始小書籤在本地模式下不會工作:小書籤包含硬編碼的IDE密鑰,但PHPStorm將生成一個rand一個!

解決方案是在「運行/調試配置」中啓用「遠程」PHP調試模式(目前稱爲「PHP遠程調試」),並在創建啓動配置的右窗格中設置IDE密鑰。

全局設置中的「DBGp代理」可能不是您想要的;創建一個「遠程」調試配置並在那裏設置IDE密鑰。