Ralat Sambungkan PANGKALAN DATA: "Kebenaran ditolak" pada Localhost
Percubaan untuk menyambungkan pangkalan data melalui PHP mungkin menghasilkan hasil yang berbeza apabila dilaksanakan pada terminal berbanding apabila dijalankan secara tempatan. Dalam senario yang disediakan, ralat "Connect DATABASE Error TYPE: 2002: Permission denied" menunjukkan bahawa pelayan web tidak mempunyai kebenaran yang diperlukan untuk mengakses pangkalan data.
Isu ini sering berpunca daripada dasar keselamatan SELinux. Secara lalai, dasar "httpd_can_network_connect_db" dilumpuhkan, melarang pelayan web daripada mewujudkan sambungan dengan pangkalan data jauh.
Penyelesaian:
Sahkan Status SELinux oleh berjalan:
getsebool -a | grep httpd
Jika "httpd_can_network_connect_db" ditetapkan kepada "Mati", dayakannya dengan:
setsebool -P httpd_can_network_connect_db 1
Sebaik sahaja dasar SELinux diubah suai, pelayan web seharusnya dapat menyambung ke pangkalan data jauh, menyelesaikan ralat "Kebenaran ditolak".
Atas ialah kandungan terperinci Mengapakah saya mendapat ralat \'Kebenaran ditolak\' semasa menyambung ke pangkalan data saya pada localhost?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!