cari

Rumah  >  Soal Jawab  >  teks badan

Ralat sambungan pangkalan data: Jenis ralat 2002 - Kebenaran ditolak

<p>Saya cuba menyambung ke pangkalan data menggunakan skrip berikut (cxn-test.php)</p> <pre class="brush:php;toolbar:false;"><?php $host = '155.30.136.20';//IP Maya $pengguna = 'pengguna_abc'; $lulus = 'xxxxxxxxx'; $dbname = 'selamat datang'; $link = mysqli_connect($host, $user, $pass,$dbname); jika (!$link) { echo "Ralat: Tidak dapat menyambung ke MySQL." echo "Nombor ralat nyahpepijat:" mysqli_connect_errno() . echo "Mesej ralat nyahpepijat:" mysqli_connect_error() . keluar; }lain { gema "kejayaan" .PHP_EOL; }</pre> <p>Apabila saya mencubanya pada terminal</p> <blockquote> <p>php cxn-test.php //Success</p> </blockquote> <p>Tetapi apabila saya mencubanya pada localhost, saya mendapat ralat berikut: </p> <blockquote> <p>curl -s http://localhost/cxn-test.php</p> </blockquote> <p><kod>Ralat: Tidak dapat menyambung ke MySQL. Nombor ralat nyahpepijat: 2002 Mesej ralat nyahpepijat: Kebenaran ditolak</code></p> <p>Ini adalah isu pelik, ia tidak berfungsi pada localhost tetapi berfungsi dengan baik pada baris arahan. </p>
P粉757640504P粉757640504461 hari yang lalu546

membalas semua(1)saya akan balas

  • P粉041881924

    P粉0418819242023-08-25 17:08:22

    Saya menghadapi masalah yang sama selepas mendapat kotak CentOS 7 baharu yang menjalankan SELinux. Saya boleh menyambung ke pelayan pangkalan data MySQL jauh melalui baris arahan, tetapi Drupal (dan skrip PHP ujian) tidak dapat menyambung.

    Masalah itu akhirnya disebabkan oleh dasar keselamatan SELinux.

    Secara lalai, dasar httpd_can_network_connect_db dilumpuhkan (bermaksud pelayan web anda tidak boleh menghubungi pangkalan data jauh).

    Semak dengan arahan berikut:

    getsebool -a | grep httpd

    Jika httpd_can_network_connect_db dimatikan, sila dayakannya dengan arahan berikut:

    setsebool -P httpd_can_network_connect_db 1

    (Bendera -P membuat perubahan kekal, jadi tetapan kekal berkuat kuasa sepanjang but semula.)

    balas
    0
  • Batalbalas