検索

ホームページ  >  に質問  >  本文

PHP 接続に失敗しました: SQLSTATE 接続が拒否されました

<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粉068510991P粉068510991500日前643

全員に返信(2)返信します

  • P粉434996845

    P粉4349968452023-08-24 10:47:03

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

    実用的なソリューション

    リーリー

    無効な解決策

    リーリー

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

    リーリー

    返事
    0
  • P粉186017651

    P粉1860176512023-08-24 10:10:42

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

    リーリー

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

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

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

    返事
    0
  • キャンセル返事