环境
CentOS release 6.4 (Final)
Linux version 2.6.32-358.el6.i686
apache配置文件:/etc/httpd/conf/httpd.conf
php的配置文件:/etc/php.ini
注意:配置文件的路径各有不同
1. 安装文件
下载地址:http://pecl.php.net/get/mongo-1.5.1.tgz
解压至目录 /var/local/mongo
进入目录:
cd mongo-1.5.1
yum install php-devel
whereis phpize
phpize: /usr/bin/phpize
/usr/bin/phpize
whereis php-config
php-config: /usr/bin/php-config
./configure --with-php-config=/usr/bin/php-config
make
make install
make install后会看到
Installing shared extensions: /usr/lib/php/modules/
2. 配置文件
很多教程上说的配置如下:
编辑php.ini增加下述一行添加mongodb扩展extension=mongo.so
配置之后重启service httpd restart
,查看phpinfo即可看到扩展成功。
但是按照如上所述,我并没有成功。
因为我之前在wamp中配置过Mongo,在php.ini文件中看到过很多其他扩展如mysql,但是我在当前的centos环境中并没有看到这些扩展的配置。我发现/etc/php.d
目录下有很多配置文件(如:mysql.ini),打开mysql.ini文件,查看内容:
; Enable mysql extension module
extension=mysql.so
于是我在该目录下新建mongo.ini文件,并写入:
; Enable mysql extension module
extension=mongo.so
重启service httpd restart
查看phpinfo
至此配置成功。
回过头再去看php.ini文件发下如下注释:
;;;;
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
;;;;
也就是说我的环境是根据/etc/php.d目录下的.ini文件加载模块的。