我正在尝试将我的 Magento 开发环境移至 docker。我已经开始使用 this 准备使用的解决方案。除了 xdebug 之外,几乎所有东西都可以正常工作。
我已经根据 this tutorial 设置了 PhpStorm,并且我已经在服务器部分的 docker 卷上正确映射了我的本地项目目录。当我尝试开始调试然后在调试器窗口中出现此消息
Cannot find file '/var/www/html/pub/index.php' locally. To fix it set server name by environment variable PHP_IDE_CONFIG and restart debug session.
我添加了这个
environment:
- PHP_IDE_CONFIG=serverName=Magetwo
到php部分中的
docker-compose.yml
,但仍然是同样的错误。仅当我的项目位于主机上的同一目录中(如容器卷中)时,调试才有效,但我想要不同的目录。
我应该改变什么来强制 xdebug 工作?
请您参考如下方法:
我通常将 docker 子网 IP 设置为远程主机 ip,如下所示:
XDEBUG_CONFIG=remote_host=172.17.0.1
PHP_IDE_CONFIG=serverName=your_server_name_in_phpstorm_settings
您可以使用以下命令在 Linux 中检查 ip:
ifconfig docker0
此外,如果您使用 docker-compose,您可以将 xdebug 变量定义移动到单独的 .env 文件并将其链接到 docker-compose.yml 中的容器配置:
container_name:
...
env_file: .env
...
...