Mengurangkan "mysqli_connect: kaedah pengesahan yang tidak diketahui oleh klien [caching_sha2_password]" dalam PHP
Apabila menggunakan mysqli_connect MySQL untuk mengesahkan dengan pangkalan data tempatan , anda mungkin menghadapi ralat misteri, "mysqli_connect(): Pelayan meminta kaedah pengesahan yang tidak diketahui oleh klien [caching_sha2_password]." Ralat ini timbul daripada ketidakpadanan antara pemalam pengesahan yang digunakan oleh pelayan dan pemalam yang dijangkakan oleh pelanggan.
Fail MySQL Server ini menentukan pemalam pengesahan lalai yang digunakan untuk sambungan pelayan. Secara lalai, tetapan ini dikonfigurasikan kepada "caching_sha2_password," yang menunjukkan bahawa pelayan memilih kaedah pengesahan caching_sha2_password. Dalam kes anda, pelayan anda telah dikonfigurasikan dengan sewajarnya.
Sebaliknya, kod PHP anda cuba menyambung menggunakan kaedah pengesahan lama, seperti kaedah "mysql_native_password". Ketidakpadanan ini menyebabkan kegagalan pengesahan dan mengakibatkan ralat yang disebutkan di atas.
Penyelesaian
Untuk menyelesaikan isu ini, anda boleh mengubah suai kaedah pengesahan yang digunakan oleh kod PHP untuk dipadankan tetapan lalai pelayan. Sebagai alternatif, anda boleh mengubah fail MySQL Server ini untuk menentukan pemalam pengesahan yang serasi dengan kod PHP. Berikut ialah beberapa penyelesaian yang berpotensi:
Dayakan pemalam mysql_native_password pada Pelayan MySQL:
Ubah suai kod PHP untuk menggunakan pemalam caching_sha2_password:
Sebagai alternatif, anda boleh menukar kaedah pengesahan pengguna MySQL kepada mysql_native_password menggunakan arahan SQL:
Ubah pengguna sedia ada :
Buat pengguna baharu dengan mysql_native_password🎜>
SQL: perintah: BUAT PENGGUNA 'jeffrey'@'localhost' DIKENAL PASTI DENGAN mysql_native_password OLEH 'kata laluan';Atas ialah kandungan terperinci Bagaimana untuk Betulkan 'mysqli_connect: kaedah pengesahan yang tidak diketahui oleh pelanggan [caching_sha2_password]' Ralat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!