Rumah > pangkalan data > tutorial mysql > Mengapa Kod PHP Saya Tidak Boleh Bersambung ke Pelayan MySQL melalui Soket?

Mengapa Kod PHP Saya Tidak Boleh Bersambung ke Pelayan MySQL melalui Soket?

Patricia Arquette
Lepaskan: 2024-12-23 13:14:14
asal
318 orang telah melayarinya

Why Can't My PHP Code Connect to the MySQL Server via Socket?

Tidak Dapat Menyambung ke Pelayan MySQL melalui Soket: Penyelesaian Masalah

Apabila menyambung ke pangkalan data MySQL menggunakan kelas mysqli PHP, anda mungkin menghadapi ralat "Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'MySQL' (2)." Ini menunjukkan bahawa pustaka klien MySQL cuba menyambung melalui soket domain Unix dan bukannya sambungan TCP/IP.

Soket Domain Unix lwn. Sambungan TCP/IP

Secara lalai, perpustakaan klien MySQL menggunakan soket domain Unix apabila menyambung ke localhost. Ini adalah kaedah sambungan yang lebih pantas dan selamat, tetapi ia hanya boleh digunakan dengan localhost. Untuk menyambung ke MySQL menggunakan TCP/IP sebaliknya, nyatakan 127.0.0.1 sebagai nama hos atau gunakan pilihan --protocol=TCP.

Penyelesaian kepada Ralat

Terdapat beberapa cara untuk menyelesaikan ralat ini:

  • Gunakan TCP/IP Sambungan: Tukar nama hos kepada 127.0.0.1 dalam skrip PHP anda untuk memaksa sambungan TCP/IP.
  • Konfigurasikan Laluan Soket: Cari laluan ke soket Unix dalam fail konfigurasi MySQL (my.cnf) dan tetapkan mysqli.default_socket php.ini kepada itu laluan.
  • Konfigurasikan Soket Terus dalam PHP: Gunakan parameter soket apabila membuka sambungan untuk menentukan laluan soket secara langsung, seperti ditunjukkan dalam contoh di bawah:
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Kod PHP Saya Tidak Boleh Bersambung ke Pelayan MySQL melalui Soket?. 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