本文將講述一下本人安裝MongoDB擴展的過程,大家可以略作參考
安裝環境
Linux環境:CentOS 6.5
Apache版本:2.4
PHP版本:5.4.3
MongoDB版本:2.6.5
一、下載Mongo-php擴展安裝包
可以從Github上面下載,地址是https://github.com/mongodb/mongo-php-driver-legacy
下載好的文件放到隨意一個目錄,然后進行解壓。
安裝前需要安裝好一系列的編譯工具,如果已經安裝,可以跳過此步。
安裝編譯工具
yum install php-devel php-pear gcc gcc-c++ autoconf automake
在make all步驟中可能會出現make: *** [io_stream.lo] Error 1錯誤。
所以還需要安裝openssl-devel
yum install openssl-devel
至此,所有的前期工作已經准備完畢。
二、編譯安裝mongo-php擴展
我下載到的mongo-php擴展文件的文件名是mongo-php-driver-legacy-master.zip,放到/home/demon目錄下。
解壓mongo-php-driver-legacy-master.zip到mongo-php.然后進入mongo-php目錄
unzip -q mongo-php-driver-legacy-master.zip mv mongo-php-driver-legacy-master mongo-php cd mongo-php phpize ./configure make all make install
如果安裝過程中沒有問題的話,在make install后會出現php的驅動目錄,例如:
Installing shared extensions: /usr/lib64/php/modules/
要在 PHP 啟動的時候加載這個擴展,在/etc/php.ini中添加以下代碼:
[MongoDB]
extension=mongo.so
三、重啟Apache服務
service httpd restart
輸出phpinfo();如果看到mongo就表示安裝成功了。
如果上面的步驟完成后輸出phpinfo()沒有看到Mongo,那么可以嘗試用pecl安裝php的mongo擴展
#已安裝php-pear php-devel的就不需再安裝
yum install -y php-pear php-devel
pecl install mongo
四、測試PHP代碼連接MongoDB
<?php try{ $conn = new Mongo('127.0.0.1'); }catch(Exception $e){ echo $e->getMessage(); }
如果出現Failed to connect to: 127.0.0.1:27017: Permission denied.那么運行以下語句即可解決
/usr/sbin/setsebool -P httpd_can_network_connect 1 service httpd restart