当我使用终端进行迁移或执行某些命令时遇到问题,我收到错误
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for database failed: Name or service not known
我的ENV:
DB_CONNECTION=mysql
DB_HOST=database
DB_PORT=3306
DB_DATABASE=products
DB_USERNAME=homestead
DB_PASSWORD=secret
这些信息也在Docker中。当我打开应用程序时,代码在localhost上工作,但在终端中我得到错误。当我将DB_HOST更改为localhost或www.example.com时127.0.0.1,它在终端中工作,但它在Web上的应用程序中不工作,并且它不将数据保存在同一数据库中。我不知道还能做什么。有没有办法使终端和Web都工作?
database:
image: mysql:5.7
container_name: database
ports:
- ${FORWARD_DB_PORT:-3306}:3306
environment:
MYSQL_DATABASE: products
MYSQL_USER: homestead
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: secret
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql
- .docker/database/entrypoint/:/docker-entrypoint-initdb.d
networks:
- app-network
1条答案
按热度按时间olqngx591#
此错误有几种可能的原因:
1.数据库服务器可能已关闭或无法从网络访问。
1.数据库服务器的主机名可能不正确或键入错误。
要解决此问题,您可以尝试以下步骤:
1.验证数据库服务器是否正在运行并且可以从网络访问。
1.检查数据库服务器的主机名并确保其正确。
1.尝试ping数据库服务器的主机名,看看是否可以将其解析为IP地址。
1.检查网络配置和DNS设置以确保其正确。