我尝试了你的新功能“xedbug on demand”。我坚持使用这些指南(https://www.jetbrains.com/help/phpstorm/2016.3/configuring-xdebug.html和https://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帖子,虽然找不到任何有用的东西......答案 0 :(得分:1)
" Xdebug in demand"选项仅适用于CLI调试(运行/调试配置" PHP脚本"类型;也适用于其他CLI模式配置,例如" PHPUnit")无论是本地的还是偏远的。
要使用这项出色的新功能,首先需要为命令行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 /等)..而您在这里不能将这样的论点传递给这样的脚本。