7

我尝试使用 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 并刷新,我得到了 Incoming Connection from Xdebug 对话框:

来自 Xdebug 的传入连接

但是,当我单击接受时,对话框消失并且什么也没有发生。

如果我然后转到 PhpStorm 中的 Settings / PHP / Servers,我会看到一个新条目已创建: PhpStorm 中的设置/PHP/服务器

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

4

3 回答 3

4

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

  1. 尝试使用编程断点:xdebug_break();
  2. 检查您的 php 是否是 32 位的,那么 Xdebug 的版本也是如此(或者它们都是 64 位的)。
  3. xdebug 远程主机设置与服务器 IP 地址有关(因此本地为 127.0.0.1)。
于 2013-11-11T14:13:30.370 回答
1

在您的 Phpstorm 中转到File > Settings > Languages & Frameworks > PHP > Debug

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

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

这对我来说是固定的。

于 2020-09-03T09:26:57.900 回答
0

需要在preferences/server中配置服务器路径和本地路径的映射关系

于 2014-12-09T09:00:55.280 回答