照亮\数据库\查询异常:SQLSTATE[HY000] [2002] php_network_getaddresses:getaddrinfo 失败:名称无法解析 (SQL:从
中选择*)tablename
测试在容器中运行,但在 IDE 中损坏。 您知道 PhpStorm 中的问题是什么吗?
我遇到了这个问题。假设您已经设置了 Docker 容器和 PHP 解释器,这就是我连接到 MySQL 容器的方法:
docker network ls
并看到“lighthouse_default”网络显然,在您的情况下,网络名称可能会有所不同。真正的要点是,我必须确保使用正确的网络并且确保数据库映像位于容器链接中。
您使用 docker-compose (您的数据库是否在不同的容器中运行)?
我有同样的问题并找到解决方案:
前往:
Settings > Languages & Frameworks > PHP > Test Frameworks
打开:
Edit docker container settings (you need push on folder icon)
在打开的窗口中,您将找到“链接”部分,从列表中添加您的数据库容器,保存所有作品后完美!
如果不同的网络配置出现错误,请更新 docker-compose.yml,在每个容器上添加这句话:
network_mode: bridge
我已经解决了@jason-adams here所说的相同问题,但是您必须小心网络名称,以防万一您想使用在 docker-compose 文件中使用的网络名称。
在这个文件中我有类似的内容:
networks:
backend_blablabla:
...但是当我运行
docker network ls
时,我看到了一个略有不同的网络名称,就我而言,它类似于{PROJECT_NAME}_backend_blablabla
所以我必须在
Settings > PHP > Test Frameworks > (clicked the folder) on my Docker container > Network mode
上使用它,因为 docker-compose 文件的网络名称不起作用。