使用 Vagrant 和 Xdebug 在 PhpStorm 中出现恼人的警告“调试会话已完成而没有暂停”

问题描述 投票:0回答:3

我已经在 Ubuntu 上的本地电脑上的 vagrant 上正确运行了 xdebug。它显示了带有错误信息的橙色表格。我的测试页面是

localhost:8030

在 Chrome 浏览器中我有

Xdebug helper

问题是每次刷新网站时,PhpStorm 中都会显示一条烦人的警告:

调试会话已完成且未暂停
可能是由于 路径映射配置错误或本地和远程不同步 项目。
要找出问题,请检查路径映射 PHP 'localhost' 服务器的配置 |服务器或启用中断 PHP 脚本选项中的第一行(来自“运行”菜单)。

我已经检查了“PHP | Servers”中“localhost”服务器的路径映射配置,它们没问题。我的 PhpStorm 项目目录与默认 Vagrant 目录关联

/vagrant/web/

启用

Break at first line in PHP scripts option
确实有帮助,但我认为这是一种机会主义。

如何摆脱这些 PhpStorm 警告?

php vagrant phpstorm xdebug
3个回答
22
投票

对于 PhpStorm 2021.1.1 +

[Ctrl] + [Alt] + S 设置:Php -> 调试

滚动到高级设置并展开

取消选中选项“通知调试会话是否在未暂停的情况下完成”


12
投票

如果调试脚本时没有命中断点,就会执行此操作。 “第一行中断”可能会阻止 PhpStorm 向您发出警告,但除此之外它的作用完全相同。

如果您配置了断点,并且 PhpStorm 没有在断点上停止,那么很可能您的路径映射配置错误。

使用 Xdebug 的

xdebug.remote_log=/tmp/xdebug.log

 设置/功能查看 PhpStorm 尝试设置哪些断点,并查看它是否针对正确的路径执行此操作。它们将在日志文件中显示为 
breakpoint_set
 命令。


0
投票
就我而言,这是路径映射问题。但我的问题始终是,我正在使用 wamp 服务器,因此所有内容都在本地供我自己调试,在这种情况下路径映射意味着什么,因为没有远程服务器...我应该将文件/目录映射到自身吗?如果是这样,那有什么意义......

虽然我的问题没有得到解答,但事实证明我必须这样做。

Solution:

我必须
将精确值从文件/目录复制粘贴到服务器选项卡上的绝对路径。(根据图像) 我为我的项目的主父目录做了它

还将我的 laravel/public 文件夹映射到我的 wamp64/www/project-name 文件夹 因为除了 Laravel 源代码(主文件,例如控制器模型等)之外,任何人都应该可以访问公共资产或 index.php 文件,而不应该位于公共文件夹中

就是这样。

© www.soinside.com 2019 - 2024. All rights reserved.