我尝试了你的新功能“xedbug ondemand”。我坚持这些指南(https://www.jetbrains.com/help/phpstorm/2016.3/configuring-xdebug.html https://www.jetbrains.com/help/phpstorm/2016.3/configuring-xdebug.html and https://blog.jetbrains.com/phpstorm/2016/06/xdebug-on-demand-for-cli-php-scripts-in-phpstorm-2016-2-eap/ https://blog.jetbrains.com/phpstorm/2016/06/xdebug-on-demand-for-cli-php-scripts-in-phpstorm-2016-2-eap/).
当我添加 xdebug 的路径时,我在 php 服务器菜单中看到 PhpStorm 可以识别它(标签从“未安装”切换到“XDebugger 2.4.1”)。
所以一切似乎都很好,但是当我通过错误图标使用调试器时,它永远不会附加/停止断点。
我激活了 xdebug-Logfile,但它完全是空的。
此外,我在 php.ini 中注释了与 xdebug 相关的所有内容。
xdebug 端口仍为 9000(默认)。
有什么想法我可以做些什么吗?
更新:我通过 phpStorm 的“PHP Web 应用程序”和调试图标使用调试器。我正在调试通过 apache vHost 执行的 php 文件。
PS:检查了 IntelliJ 论坛和 Stack 帖子,但没有发现任何有用的东西......
“Xdebug 需求”选项仅适用于 CLI 调试(“PHP 脚本”类型的运行/调试配置;也适用于其他 CLI 模式配置,例如“PHPUnit”)无论是本地还是远程。
引自前述介绍博客文章 https://blog.jetbrains.com/phpstorm/2016/06/xdebug-on-demand-for-cli-php-scripts-in-phpstorm-2016-2-eap/:
要使用这个伟大的新功能,首先,您需要禁用 Xdebug命令行 PHP 脚本.
该选项不适用于通过网络浏览器提供的网页(例如 Apache/nginx/IIS)或仅侦听任何传入的调试连接时(零配置方法 https://www.jetbrains.com/help/phpstorm/zero-configuration-debugging.html),实际调试是在 IDE 外部启动的。
原因很简单:当启动 CLI 脚本的调试器时,IDE 会启动您的 php 可执行文件(您配置的 PHP 解释器,例如php.exe
在 Windows 上)带有附加参数(-z
: check php --help
输出或here https://www.php.net/manual/en/features.commandline.options.php)可以加载此类附加扩展。
但是当您调试网页时,整个 PHP 不受 PhpStorm 控制:它是您的 Web 服务器(Apache/nginx/IIS/等)与 PHP 通信..并且您在此阶段无法传递此类参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)