1. 程式人生 > >記錄PHP操作mongodb擴充套件的坑 及php7安裝mongodb擴充套件

記錄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