我已经使用要调试的Docker容器创建了Yii2应用程序。使用零配置调试here,通过简单地激活“侦听”图标并使用捕获外部通信,便能够轻松启动调试会话。
调试工作正常,但是调试时我发现IDE上有奇怪的行为。
我在frontend/index.php
的第3行上设置了一个断点。不出所料,当我显示页面时,断点被击中。
通过单击F8,我可以跳过代码,但是当我到达第17行并单击F7(进入)时,似乎调试器仍然通过继续执行其工作来完成它的工作。代码的方式(您可以在“框架”面板中看到),但是通常,IDE应该打开目标文件,并在代码中显示进度,但不是。
如果我继续单击F8,“框架”面板上的文件和方法将不断更改,但IDE将显示的唯一文件是index.php
我注意到的另一件事是“变量”面板中的警告:
远程文件路径
app.../BaseYii.php
未映射到项目中的任何文件路径
我应该手动映射项目中的每个文件吗???希望不会...
这可能并不复杂,但是我被卡住了。
有人知道吗?
这是我的服务器设置屏幕。
如何映射到项目根目录?
我应该手动映射项目中的每个文件吗???希望不会...
否,您不需要映射每个文件(子代将从父文件夹继承映射)。
根据您的描述,听起来好像初始映射是在较低级别(frontend
文件夹)上完成的,而Yii代码在其外部的文件夹中。如果是这样,则只需在Settings/Preferences | Language & Frameworks | PHP | Servers
处手动修复映射即可。
基于Servers
屏幕截图,您可以将C:\Users\Francois\Projects\myms-demo
(项目根文件夹)映射到/app
。然后,您可以稍后删除/app/frontend/web
的现有映射(因为它将从父级继承,因此是不必要的。)
C:\Users\Francois\Projects\myms-demo <--> /app