带有PhpStorm IDE的Xdebug - 检测传入连接但不会启动调试控制台

时间:2013-11-11 12:03:25

标签: php debugging xdebug phpstorm

我曾尝试使用PhpStorm 7.0设置Xdebug(2.2.3),但我不能像过去那样启动逐步调试控制台。我用来设置它的指南是:

我知道Xdebug扩展本身正在工作,因为在页面加载时正在创建cachegrind.out.3280文件(所需的所有脚本和变量/值都需要12Mb)。我在php.ini(php版本5.4.12)中的设置是:

zend_extension="c:/wamp/bin/php/php5.4.12/zend_ext/php_xdebug-2.2.3-5.4-vc9-x86_64.dll"
xdebug.profiler_output_dir="c:/wamp/tmp"
xdebug.profiler_output_name="cachegrind.out.%p"
xdebug.profiler_enable=1
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.idekey=xdebug
xdebug.remote_connect_back=1
xdebug.remote_host=dashboard.dev

设置断点后,打开Xdebug chrome扩展,点击在PhpStorm中收听Xdebug并刷新,我从Xdebug对话中获取Incoming Connection:

 Incoming Connection from Xdebug

然而,当我点击“接受”时,对话框消失,没有任何反应。

如果我转到PhpStorm中的Settings / PHP / Servers,我看到已经创建了一个新条目: Settings / PHP / Servers in PhpStorm

只有删除添加的条目,才能在刷新页面时再次显示“传入连接”对话框。我注意到端口设置为80,因此想知道是否正确,因为Xdebug扩展设置为在端口9000上运行;当我点击“验证远程环境”选择部署服务器,然后“验证”,我得到:没有加载调试扩展。所以我假设问题与设置方式有关。

3 个答案:

答案 0 :(得分:4)

通过将断点添加到代码的其他部分来解决问题,因为它在附加到try子句时不起作用。此外,以下是一些可能有用的其他提示:

  1. 尝试使用程序化断点:xdebug_break();
  2. 检查你的php是否为32位,那么Xdebug的版本也是如此(或者它们都是64位)。
  3. xdebug远程主机设置与服务器IP地址相关(因此本地为127.0.0.1)。

答案 1 :(得分:1)

在Phpstorm中转到文件> 设置> 语言和框架> PHP > 调试< / strong>。

外部连接部分下,标记复选框

通过未注册的服务器配置忽略外部连接

这对我来说是固定的。

答案 2 :(得分:0)

您需要在首选项/服务器

中配置服务器路径和本地路径之间的映射