14

我在使用带有xdebug的PhpStorm调试php时搜索了很多这个问题,我发现3或4个链接讨论这个问题,但没有一个有用。我的Xdebug的版本是2.2.3,PhpStorm的版本是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

4 回答 4

6

你写了:

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

但是你使用:

 xdebug.idekey=PHPStorm

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

但是你也说:

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

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

它们有何不同?是否有不同的行为,或者只是没有停止?

于 2013-07-23T09:19:36.307 回答
6

对我来说,调试器从未连接,我看到了Waiting for incoming connection with ide key消息,因为我将服务器配置设置为端口 9000。这应该设置为端口 80(或网络服务器正在侦听的任何其他端口!这是让我感到困惑,因为它就在调试器下拉列表旁边,我认为它是设置 Xdebug 端口。

您不想将此值设置为调试端口

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

在 PHP 调试设置中将调试端口设置为 9000

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

于 2016-02-25T17:27:05.947 回答
4

我有一个类似的问题。就我而言,这是由于对 PHPStorm/IntelliJ PHP 调试模式的误解造成的。有两种模式:

  1. “本地”PHP调试
  2. “远程”PHP调试

当您使用“本地”调试时,会自动生成 IDE 密钥

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

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

全局设置中的“DBGp 代理”可能不是您想要的;创建一个“远程”调试配置并在那里设置 IDE 密钥。

于 2017-12-11T07:19:57.073 回答
2

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

在设置 > 语言和框架 > PHP > 服务器下找到

于 2015-09-22T17:05:23.730 回答