記錄PHP操作mongodb擴充套件的坑 及php7安裝mongodb擴充套件
1.下載擴充套件到php原始碼包擴充套件目錄中,ext目錄中儲存著php官方包含的擴充套件原始碼包,沒有的話就要自己去下載
PHP的擴充套件路徑在: /usr/local/src/php-7.0.12/ext/(PHP原始碼包的ext目錄)
下載地址:https://pecl.php.net/package/mongodb
2.解壓,進入目錄
3./usr/local/php/bin/phpize 生成configur檔案
4. ./configure --with-php-config=/usr/local/php/bin/php-config
5. make&make install
6.cd /usr/local/php/lib/php/extensions/no-debug-zts-20151012/ 檢視生成mongodb.so檔案
網上很多教程是安裝mongo.so擴充套件的,這是個比較舊的擴充套件,我的mongodb是3.2,PHP7.0,centos 7
安裝mongo.so擴充套件,make總是報錯,
後來在https://stackoverflow.com/questions/40144519/make-php-mongo-lo-error-1 才知道是要安裝mongod.so;所以版本比較高的要下載mongod的擴充套件包來安裝;
網上的大多數php版本的5.X的,對於5.X來說需要的擴充套件檔案是mongo.so檔案,對應的下載連結:https://pecl.php.net/package/mongo
都是比較老的版本,對於7.X版本需要生成的擴充套件檔案是mongodb.so檔案,對應的下載連結在這裡:https://pecl.php.net/package/mongodb
然後再網上找了一圈,發現之前也有人遇到過這個問題,具體可以看看
https://blog.csdn.net/u010615629/article/details/80757079#commentBox
建議:對應php7安裝PHP-mongodb擴充套件,建議直接用pecl來安裝
Pecl全稱The PHP Extension Community Library,php社群擴充套件庫,由社群編寫,維護。
使用pecl方便之處在於我們不用到處找原始碼包下載編譯,配置,不用手動phpize,configure,make,make install,自動識別模組安裝路徑,
pecl安裝擴充套件
1.找到pecl命令,在php/bin目錄下
/usr/local/php/bin/pecl install mongodb
執行成功的結果
……
Build process completed successfully
Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.1.7
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongodb.so" to php.ini
只需要在php.ini 加上extension=mongodb.so即可;
參考:http://www.runoob.com/mongodb/php7-mongdb-tutorial.html