ドライバで例外が発生しました: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文字列ではありません。これはアプリケーションの接続文字列です。おそらくWebベースです。

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

関連情報