Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penyelesaian kepada ralat Fatal PHP: Panggilan ke kaedah yang tidak ditentukan mysqli::stmt_init()

Penyelesaian kepada ralat Fatal PHP: Panggilan ke kaedah yang tidak ditentukan mysqli::stmt_init()

王林
王林asal
2023-06-22 15:33:171628semak imbas

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:

Kaedah 1: Gunakan baris arahan Pasang pustaka sambungan MySQL

Sistem Ubuntu/Debian

sudo apt-get update
sudo apt-get install php-mysql

Sistem CentOS/RHEL

sudo yum update
sudo yum install php-mysql

Kaedah 2: Susun dan pasang sambungan MySQLi secara manual

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:

Sistem Ubuntu/Debian

sudo /etc/init.d/apache2 restart

Sistem CentOS/RHEL

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!

Kenyataan:
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