Rumah > pembangunan bahagian belakang > tutorial php > Mengapa sambungan PHP mysqli saya gagal dengan 'Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'MySQL' (2)'?

Mengapa sambungan PHP mysqli saya gagal dengan 'Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'MySQL' (2)'?

Linda Hamilton
Lepaskan: 2024-12-02 13:17:16
asal
790 orang telah melayarinya

Why is my PHP mysqli connection failing with

mysqli::mysqli() Ralat: Menyambung melalui Soket 'MySQL' Gagal

Apabila cuba mewujudkan sambungan ke pangkalan data MySQL menggunakan Kelas mysqli PHP, ralat "mysqli::mysqli(): (HY000/2002): Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'MySQL' (2)" menunjukkan kesukaran dalam mewujudkan sambungan melalui soket domain Unix.

Sebab Ralat Soket

Secara lalai, apabila "localhost" disediakan sebagai hos, MySQL cuba menyambung menggunakan soket domain Unix fail, "MySQL," bukannya TCP/IP. Walau bagaimanapun, jika soket ini tiada atau tidak boleh diakses, sambungan tidak boleh diwujudkan.

Penyelesaian

Untuk menyelesaikan isu ini, pertimbangkan penyelesaian berikut:

  • Gunakan TCP/IP: Sediakan alamat IP dengan jelas "127.0.0.1" sebagai hos dan bukannya "localhost" untuk memaksa sambungan TCP/IP.
  • Konfigurasikan Laluan Soket MySQL PHP: Buka fail konfigurasi MySQL (my.cnf) dan cari laluan di mana MySQL mencipta soket. Kemudian, dalam skrip PHP anda, gunakan konfigurasi mysqli.default_socket untuk menetapkan laluan ini untuk PHP.
  • Tentukan Soket dalam Skrip: Konfigurasikan soket dalam skrip PHP anda secara langsung menggunakan sintaks berikut:

    $db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')
    Salin selepas log masuk

    Konfigurasi Hos untuk Laman web

Jika anda berhasrat untuk menjadikan pangkalan data boleh diakses daripada tapak web anda, anda mungkin perlu mengkonfigurasi hos yang berbeza. Konfigurasi hos bergantung pada persediaan persekitaran pengehosan web anda dan lokasi pelayan MySQL anda. Anda disyorkan untuk berunding dengan penyedia pengehosan anda untuk mendapatkan arahan khusus tentang mengkonfigurasi hos jauh.

Atas ialah kandungan terperinci Mengapa sambungan PHP mysqli saya gagal dengan 'Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'MySQL' (2)'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan