PhpStorm - xDebug on demand not attached

时间:2017-01-16 10:05:54

标签: phpstorm xdebug

我尝试了你的新功能“xedbug on demand”。我坚持使用这些指南(https://www.jetbrains.com/help/phpstorm/2016.3/configuring-xdebug.htmlhttps://blog.jetbrains.com/phpstorm/2016/06/xdebug-on-demand-for-cli-php-scripts-in-phpstorm-2016-2-eap/)。

我在php服务器菜单中看到,当我添加了PhpStorm识别它的xdebug路径时(标签从“未安装”切换到“XDebugger 2.4.1”)。

所以一切似乎都很好但是当我通过bug-icon使用调试器时,它永远不会为断点附加/停止。

我激活了xdebug-Logfile,但它一直是空的。

此外,我在php.ini中评论了与xdebug相关的所有内容。

xdebug-port仍然是9000(默认)。

我能做些什么呢?

更新:我通过phpStorm的“PHP Web应用程序”和调试图标使用调试器。我正在调试通过apache vHost执行的php文件。

PS:检查过IntelliJ论坛和Stack帖子,虽然找不到任何有用的东西......

1 个答案:

答案 0 :(得分:1)

" Xdebug in demand"选项仅适用于CLI调试(运行/调试配置" PHP脚本"类型;也适用于其他CLI模式配置,例如" PHPUnit")无论是本地的还是偏远的。

引用上述introduction blog post

  

要使用这项出色的新功能,首先需要为命令行PHP脚本禁用Xdebug。

该选项不适用于通过网络浏览器提供的网页(例如Apache / nginx / IIS),或只是监听任何传入的调试连接(Zero-config approach),其中实际的调试是在IDE之外发起。

原因非常简单:在CLI模式下启动调试器时,IDE会使用附加参数({{1}启动您的php可执行文件(您配置的PHP解释器,例如Windows上的php.exe) } - 检查-z输出或here)可以加载此类附加扩展名。

但是......当您调试网页时......整个PHP不受PhpStorm控制 - 它是您与PHP通信的Web服务器(Apache / nginx / IIS /等)..而您在这里不能将这样的论点传递给这样的脚本。