带有PhpStorm的Xdebug可以在CLI中运行,而不是从浏览器运行

时间:2017-11-10 12:35:23

标签: phpstorm xdebug

我正在尝试使用Xdebug和PhpStorm进行调试。我过去曾多次设置它,没有太多问题。这次事情并不顺利。

我在 php.ini 中的当前配置如下:

zend_extension = "c:\xampp2\php\ext\php_xdebug.dll"

xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_host=127.0.0.1
xdebug.remote_cookie_expire_time=3600
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.idekey=PHPSTORM
xdebug.remote_log="c:\xampp2\tmp\xdebug.txt"

xdebug.remote_autostart=1

添加xdebug.remote_autostart确保在从CLI运行脚本时正在设置连接。但是在通过Apache调用脚本时仍然无法正常工作。

我检查过Xdebug日志,我在那里看不到任何异常:https://pastebin.com/4rK8pJqt

最明显的原因是为CLI和Apache提供单独的 php.ini 文件,但事实并非如此。我只有一个 php.ini 文件,我已经验证Xdebug设置在浏览器中的phpinfo中显示得很好。请参阅下面的截图。

是否有任何特定设置可能导致Xdebug无法连接到PHPStorm?或者是否有人知道Xdebug或PhpStorm中可能导致此问题的任何错误?

Xdebug in phpinfo Xdebug in phpinfo

1 个答案:

答案 0 :(得分:0)

我已经确定了这个问题。不管怎么说。

禁用“通过未注册的服务器配置忽略外部连接”后,它开始工作。然后我看了一下PhpStorm中的服务器配置,看起来非常好,所以我尝试了再次禁用此设置,这也很有效。

PhpStorm setting

所以,为了解决我的问题,我必须:

  1. 转到档案 - >设置。
  2. 转到语言&框架 - > PHP - >调试。
  3. 取消选中“通过未注册的服务器配置忽略外部连接”。
  4. 运行脚本以从浏览器触发Xdebug。
  5. 再次转到设置并再次启用相同的设置。
  6. 现在一切都像魅力一样!