在使用PHP進行MySQL資料庫操作時,我們常常會遇到「PHP Fatal error: Call to undefined method mysqli::stmt_init()」這個錯誤,這個錯誤通常是因為PHP未正確載入MySQL擴充函式庫或MySQL擴展庫版本不相容導致的。在本文中我們將介紹如何解決這個問題。
第一步:檢查PHP是否正確載入MySQL擴充函式庫
在PHP中,我們可以透過phpinfo()函式來查看目前PHP的設定資訊。打開終端機輸入以下指令查看目前PHP的設定資訊:
php -r "phpinfo();"
執行完這個指令後,會輸出PHP的設定訊息,我們需要確認其中是否已經載入了MySQL擴充庫。
可以透過Ctrl F找到mysqli,如果找不到則表示沒有載入MySQL擴充函式庫,需要先安裝MySQL擴充函式庫。
第二步:安裝MySQL擴充功能庫
根據自己的實際情況,可以透過以下兩種方式來安裝MySQL擴充函式庫:
sudo apt-get update sudo apt-get install php-mysql
sudo yum update sudo yum install php-mysql
如果以上指令無法執行時,可以選擇手動編譯安裝擴充功能。以 Ubuntu 系統為例:
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
注意,以上指令中的php7.2-dev需要修改為目前使用的PHP版本,libmysqlclient-dev是必須安裝的,如果未安裝則不會成功編譯。
安裝完成後,需要在php.ini中加入以下設定資訊:
extension=mysqlnd_ms.so
第三個步驟:重新啟動Apache 服務
在安裝MySQL擴充庫後,需要重啟Apache服務使其生效:
sudo /etc/init.d/apache2 restart
sudo systemctl restart httpd
完成以上三個步驟後,再次運行程序,就能夠正常連接MySQL資料庫進行操作了。
總結:
在使用PHP進行MySQL資料庫操作時,很容易遇到「PHP Fatal error: Call to undefined method mysqli::stmt_init()」這個錯誤,這個錯誤通常是由於PHP未正確載入MySQL擴充函式庫或MySQL擴充函式庫版本不相容導致的。針對這個問題,我們可以透過查看phpinfo()函數傳回的資訊來確認是否已經正確載入MySQL擴充函式庫,如果沒有正確加載,則需要透過命令列安裝或手動編譯安裝MySQL擴充函式庫;在安裝完成後,需要重啟Apache服務使其生效。
以上是PHP Fatal error: Call to undefined method mysqli::stmt_init()的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!