2013年9月18日 星期三

PHP5.4安裝MongoDB PHP extension發生mongo: Unable to initialize module解決方法

最近在測試環境將PHP升級到5.4後,要照先前"在Ubuntu12.04安裝MongoDB及PHP extension"文章寫的步驟安裝 MongoDB PHP extension時,發現一直讀取不到 Mongo extension 的問題,查了一查才發現原來是安裝到PHP 5.3版的MongoDB extension Driver,所以才導致讀取不到Mongo extension 的狀況。

$ php -v
PHP startup mongo: Unable to initialize module
Module compiled with module API : 20090626
PHP compiled with module API : 20100525
These options need to match.

在查到文章有說可以用pecl去重新安裝 PHP 5.4 Mongo Driver,可是試了之後發現結果一樣還是讀取不到驅動,所以用dpkg -l '*php*'指令查了現在PHP相關套件的版本,發現php5-dev還是5.3版本,因為pecl安裝Driver時會依照php5-dev版本去安裝適合的套件,所以就一直無法安裝起來,所以必須將套件升級。
sudo apt-get update
sudo apt-get upgrade php5-dev
升級完後就可以看到php5-dev的版號也變成5.4版了




之後再透過pecl重新安裝MongoDB PHP Driver,並重新啟動Apache,就可以正常的看到Mongo的驅動了
sudo pecl uninstall mongo
sudo pecl install mongo
sudo service apache2 restart


參考資料

沒有留言:

張貼留言

ADS