PHP 接続に失敗しました: SQLSTATE 接続が拒否されました
P粉068510991
P粉068510991 2023-08-23 18:49:26
0
2
586
<p>PHP 接続を使用して phpmyadmin 上の MySQL データベースに接続しようとしています。接続に関して特別なことは何もありません。接続が成功したかどうかを確認したかっただけです。 MAMP を使用してデータベースをホストしており、使用しようとしている接続は次のとおりです: </p> <pre class="brush:php;toolbar:false;"><?php $サーバー名 = "127.0.0.1"; $ユーザー名 = "ルート"; $password = "ルート"; 試す { $conn = 新しい PDO("mysql:host=$servername;dbname=AppDatabase", $username, $password); // PDO エラー モードを例外に設定します $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "正常に接続されました"; } catch(PDOException $e) { echo "接続に失敗しました: " . $e->getMessage(); } ?></pre> <p>Postman を使用して接続が機能していることをテストしていますが、次のエラー メッセージが表示され続けます: </p> <ブロック引用> <p>接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました</p> </blockquote> <p>以前は次のエラー メッセージが表示されていました: </p> <ブロック引用> <p>接続に失敗しました: SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリはありません</p> </blockquote> <p>これは、サーバー名を localhost に設定しており、それを IP アドレスに変更すると接続が拒否され、何が問題になっているのかわかりません。 </p> <p>この問題に関してご協力いただければ幸いです。 </p>
P粉068510991
P粉068510991

全員に返信(2)
P粉434996845

私は、すべてのコンテナが docker コンテナであり、移行に Phinx を使用する docker 環境でかなりの時間を費やしています。異なる構成に対する異なる応答を共有するためだけに。

実用的なソリューション

リーリー

無効な解決策

リーリー

次のように Phinx を実行しました。

リーリー
いいねを押す +0
P粉186017651

接続が機能しない理由がわかりました。ポート 8889 に接続する必要があるときに、接続がポート 8888 に接続しようとしたことが原因でした。

リーリー

これで問題は解決しましたが、サーバー名を localhost に変更すると依然としてエラーが発生しました。

接続失敗: SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリはありません

ただし、サーバー名として IP アドレスを入力すると、正常に接続されます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート