PHP 接続を使用して phpmyadmin 上の MySQL データベースに接続しようとしています。接続に関して特別なことは何もありません。接続が成功したかどうかを確認したかっただけです。 MAMP を使用してデータベースをホストしており、使用しようとしている接続は次のとおりです:
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "正常に接続されました"; } catch(PDOException $e) { echo "接続に失敗しました: " . $e->getMessage(); } ?>
Postman を使用して接続が機能していることをテストしていますが、次のエラー メッセージが表示され続けます:
<ブロック引用>接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました
以前は次のエラー メッセージが表示されていました:
<ブロック引用>接続に失敗しました: SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリはありません
これは、サーバー名を localhost に設定しており、それを IP アドレスに変更すると接続が拒否され、何が問題になっているのかわかりません。
この問題に関してご協力いただければ幸いです。
私は、すべてのコンテナが
docker
コンテナであり、移行にPhinx
を使用するdocker
環境でかなりの時間を費やしています。異なる構成に対する異なる応答を共有するためだけに。実用的なソリューション
リーリー無効な解決策
リーリー次のように
リーリーPhinx
を実行しました。接続が機能しない理由がわかりました。ポート 8889 に接続する必要があるときに、接続がポート 8888 に接続しようとしたことが原因でした。
リーリーこれで問題は解決しましたが、サーバー名を localhost に変更すると依然としてエラーが発生しました。
接続失敗: SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリはありません
ただし、サーバー名として IP アドレスを入力すると、正常に接続されます。