Isu Ketersambungan PHP: "Sambungan gagal: SQLSTATE[HY000] [2002] Sambungan ditolak"
Masalah:
Apabila cuba mewujudkan sambungan PHP ke pangkalan data MySQL yang dihoskan phpMyAdmin, pengguna mungkin menerima mesej ralat "Sambungan gagal: SQLSTATE[HY000] [2002] Sambungan ditolak."
Analisis:
Pada mulanya, sambungan cuba menyambung menggunakan "localhost " sebagai "nama pelayan," tetapi ini mengakibatkan ralat "Sambungan gagal: SQLSTATE[HY000] [2002] Tiada fail atau direktori sedemikian." Menukar "nama pelayan" kepada alamat IP hos pangkalan data telah menghapuskan ralat fail atau direktori, tetapi mencetuskan ralat "Sambungan ditolak".
Penyelesaian:
Penyiasatan lanjut mendedahkan bahawa sambungan itu cuba menyambung ke Port 8888, manakala port yang betul untuk MAMP untuk mengehoskan pangkalan data ialah 8889. Mengubah suai rentetan sambungan kepada sertakan port yang betul menyelesaikan isu:
$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);
Nota Tambahan:
Semasa menukar "nama pelayan" kepada "localhost" terus menghasilkan "Tiada fail atau direktori sedemikian " ralat, menyambung dengan alamat IP pangkalan data untuk "nama pelayan" kekal berjaya.
Atas ialah kandungan terperinci Mengapa Sambungan PHP Saya ke MySQL Gagal dengan 'Sambungan ditolak' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!