드라이버에서 예외가 발생했습니다: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo 실패: 이름 확인이 일시적으로 실패했습니다.

드라이버에서 예외가 발생했습니다: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo 실패: 이름 확인이 일시적으로 실패했습니다.

다음 명령은 위의 오류를 발생시킵니다.

symfony console doctrine:migrations:execute --up 'DoctrineMigrations\Version20220513151605'

많은 질문이 있지만 내 시나리오(localhost apache vhost, mysql, Symfony)와 일치하는 질문을 찾을 수 없습니다.

모든 검색이 잘못된 DSN 문자열을 가리키는 것 같습니다. 내가 지금까지 시도한 것은 ...

.env.local

DATABASE_URL="mysql://root:[email protected]:3306/mi_db?serverVersion=5.7.22-log"
DATABASE_URL="mysql://root:password@localhost:3306/mi_db?serverVersion=5.7.22-log"

기쁨이 없나요?

돕다

답변1

표시된 "DATABASE_URL"은 DSN 문자열이 아닙니다. 이는 애플리케이션의 연결 문자열입니다. 아마 웹 기반일 겁니다.

DSN을 정의하는 올바른 방법을 이해하려면 MySQL 자체에 대한 설명서를 읽어야 합니다. https://dev.mysql.com/doc/refman/8.0/en/connectors-apis.html

치트 시트는 여기에서 확인할 수 있습니다: https://www.connectionstrings.com/mysql/

W3Schools에는 훌륭한 PHP 튜토리얼이 있습니다: https://www.w3schools.com/php/php_mysql_connect.asp

관련 정보