Rumah >pangkalan data >tutorial mysql >Mengapakah saya mendapat ralat \'Kebenaran ditolak\' semasa menyambung ke pangkalan data saya pada localhost?

Mengapakah saya mendapat ralat \'Kebenaran ditolak\' semasa menyambung ke pangkalan data saya pada localhost?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 06:59:02501semak imbas

Why am I getting a

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:

  1. Sahkan Status SELinux oleh berjalan:

    getsebool -a | grep httpd
  2. Jika "httpd_can_network_connect_db" ditetapkan kepada "Mati", dayakannya dengan:

    setsebool -P httpd_can_network_connect_db 1
  3. Bendera "-P" memastikan tetapan berterusan selepas but semula.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Menguasai Pandangan MySQLArtikel seterusnya:Menguasai Pandangan MySQL