Masalah:
Seorang pembangun dihadapi ralat "Sambungan gagal: SQLSTATE[HY000] [2002] Sambungan menolak" semasa cuba mewujudkan sambungan PHP ke pangkalan data MySQL pada phpMyAdmin.
Penyelesaian masalah:
Pembangun pada mulanya mengubah suai pembolehubah nama pelayan daripada "localhost" kepada "127.0 .0.1", menyelesaikan ralat "Sambungan gagal: SQLSTATE[HY000] [2002] Tiada fail sedemikian atau direktori." Walau bagaimanapun, mereka masih mengalami ralat penolakan sambungan.
Penyelesaian:
Setelah siasatan lanjut, pembangun mendapati sambungan itu cuba menyambung ke port 8888, semasa ia sepatutnya telah menyambung ke port 8889. Mengubah suai kod untuk menggunakan port 8889 membetulkan isu:
$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);
Nota Tambahan:
Semasa menggunakan alamat IP "127.0.0.1" untuk nama pelayan menyelesaikan ralat yang ditolak sambungan, ralat "Sambungan gagal : SQLSTATE[HY000] [2002] Tiada fail atau direktori sedemikian yang masih ditemui apabila menggunakan "localhost" sebagai nama pelayan. Ini menunjukkan bahawa konfigurasi pangkalan data mungkin memerlukan sambungan berasaskan IP tertentu.
Atas ialah kandungan terperinci Mengapa Sambungan PHP MySQL saya Ditolak Walaupun Bukti Kelayakan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!