Xdebug PhpStorm:等待与ide键的传入连接

时间:2013-07-18 05:24:17

标签: xdebug phpstorm

我在使用PhpStorm和xdebug调试php时搜索了很多这个问题,我发现有3个或4个链接讨论这个问题,但没有一个是有用的。我的Xdebug的版本是2.2.3,而PhpStorm'version是6.03。我可以逐步调试每一行,除了这一行

$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 个答案:

答案 0 :(得分:5)

对我来说,调试器从未连接过,我看到正在等待带有ide键的传入连接消息,因为我将服务器配置设置为端口9000. 这应该设置为端口80 (或者网络服务器正在侦听的任何其他端口!这让我感到困惑,因为它紧挨着Debugger下拉列表,我认为它是设置Xdebug端口。

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

Debug端口配置在Settings-> Languagues& Frameworks-> PHP->调试。将此设置为9000或您配置php.ini的任何内容。

Set Debug port to 9000 in PHP Debug settings

请注意,我使用的是IntelliJ IDEA,但它是所有的jetbrains平台。

答案 1 :(得分:4)

您写道:

  

PhpStorm显示此错误:等待与ide键“14841”的传入连接。

但你使用:

 xdebug.idekey=PHPStorm

那些ide键需要匹配。 PHP Storm对此有点好笑。

但是你还说:

  

我可以逐步调试每一行,除了这一行

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

他们有什么不同?有没有不同的行为,或者只是不停止?

答案 2 :(得分:1)

我在本地安装中遇到了类似的问题。 我通过取消选择设置来修复它:使用路径映射

在“设置”下找到>语言与框架> PHP>服务器

答案 3 :(得分:1)

我有类似的问题。在我的情况下,它是由误解PHPStorm / IntelliJ PHP调试模式引起的。有两种模式:

  1. "本地" PHP调试
  2. "遥控" PHP调试
  3. 当您使用" local"调试,IDE密钥自动生成

    这意味着,在http://www.jetbrains.com/phpstorm/marklets/ 创建的原始bookmarklet在本地模式下无效:bookmarklet包含硬编码的IDE密钥,但PHPStorm将生成一个随机的!

    解决方案是启用" Remote" PHP调试模式(目前称为" PHP远程调试")"运行/调试配置"并在创建启动配置的右窗格中设置IDE密钥。

    " DBGp代理"在全球环境中可能不是你想要的;创建一个" Remote" debug config并在那里设置IDE密钥。