Apabila menggunakan PHP untuk mengendalikan pangkalan data MySQL, kita sering menghadapi ralat "PHP Fatal error: Call to undefined method mysqli::stmt_init()". Disebabkan oleh versi pustaka sambungan yang tidak serasi. Dalam artikel ini kami akan menerangkan cara menyelesaikan masalah ini.
Langkah satu: Semak sama ada PHP memuatkan perpustakaan sambungan MySQL dengan betul
Dalam PHP, kita boleh melihat maklumat konfigurasi PHP semasa melalui fungsi phpinfo(). Buka terminal dan masukkan arahan berikut untuk melihat maklumat konfigurasi PHP semasa:
php -r "phpinfo();"
Selepas melaksanakan arahan ini, maklumat konfigurasi PHP akan dikeluarkan Kami perlu mengesahkan sama ada perpustakaan sambungan MySQL telah dimuatkan.
Anda boleh mencari mysqli melalui Ctrl + F. Jika tidak dijumpai, bermakna perpustakaan sambungan MySQL tidak dimuatkan dan anda perlu memasang perpustakaan sambungan MySQL terlebih dahulu.
Langkah 2: Pasang pustaka sambungan MySQL
Mengikut situasi sebenar anda, anda boleh memasang pustaka sambungan MySQL dalam dua cara berikut:
sudo apt-get update sudo apt-get install php-mysql
sudo yum update sudo yum install php-mysql
Jika arahan di atas gagal Apabila melaksanakan, anda boleh memilih untuk menyusun dan memasang sambungan secara manual. Ambil sistem Ubuntu sebagai contoh:
sudo apt-get update sudo apt-get install php7.2-dev libmysqlclient-dev sudo pecl channel-update pecl.php.net sudo pecl install mysqlnd_ms
Perhatikan bahawa php7.2-dev dalam arahan di atas perlu diubah suai kepada versi PHP yang sedang digunakan, libmysqlclient-dev mesti dipasang. ia tidak akan berjaya disusun.
Selepas pemasangan selesai, anda perlu menambah maklumat konfigurasi berikut dalam php.ini:
extension=mysqlnd_ms.so
Langkah 3: Mulakan semula perkhidmatan Apache
Selepas memasang sambungan MySQL perpustakaan, anda perlu Mulakan semula perkhidmatan Apache untuk berkuat kuasa:
sudo /etc/init.d/apache2 restart
sudo systemctl restart httpd
Selepas melengkapkan tiga langkah di atas, jalankan program sekali lagi dan anda akan dapat menyambung secara normal Pangkalan data MySQL dikendalikan.
Ringkasan:
Apabila menggunakan PHP untuk operasi pangkalan data MySQL, ia adalah mudah untuk menghadapi ralat "PHP Fatal error: Call to undefined method mysqli::stmt_init()". Ini disebabkan oleh PHP tidak memuatkan perpustakaan sambungan MySQL dengan betul atau versi perpustakaan sambungan MySQL tidak serasi. Untuk menangani masalah ini, kami boleh mengesahkan sama ada pustaka sambungan MySQL telah dimuatkan dengan betul dengan menyemak maklumat yang dikembalikan oleh fungsi phpinfo() Jika ia tidak dimuatkan dengan betul, anda perlu memasang pustaka sambungan MySQL melalui baris arahan atau secara manual menyusun dan memasangnya selepas pemasangan selesai, anda perlu Mulakan semula perkhidmatan Apache untuk berkuat kuasa.
Atas ialah kandungan terperinci Penyelesaian kepada ralat Fatal PHP: Panggilan ke kaedah yang tidak ditentukan mysqli::stmt_init(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!