在window 和 linux下安装PHP MongoDB扩展

Server 林涛 6103℃ 0评论

整个安装过程需要注意的是:1. mongodb扩展文件要下载对,注意32位&64位,还要注意php的编辑类型等;2. php.ini中的配置文件要写正确,因为我吧.dll 写成 .dl 导致我捣鼓半天;

安装环境

系统环境:Windows 7 64位

Apache版本:2.4.9

PHP版本:5.5.12

MongoDB版本:3.2.6

Wamp版本:wamp 2.5 64位

 

在windows下安装mongodb的扩展比Linux环境稍微复杂点

安装步骤

一、确定php的compiler

通过查看phpinfo()可以确定

从上图可以看到,Compiler是VC11

二、确定php是否是线程安全版本

通过查看phpinfo()可以确定

如果是enabled,则说明是Thread safety版本

 

三、下载对应的php-mongodb版本

根据前面所得到的信息,需要下载同时符合php5.5,VC11,ts(thread safety),64位的扩展

一般来说,官网的资料是最新和最全的,推荐到官网去下载。下载地址是:http://windows.php.net/downloads/pecl/releases/mongo/。我选择的是1.6.10版本的

下载php_mongo-1.6.10-5.5-ts-vc11-x64.zip回来,把里面的php-mongo.dll复制到php的插件目录下,我本机是:D:\wamp\bin\php\php5.5.12\ext

 

四、在系统环境变量中加入libsasl.dll的所在路径

根据http://php.net/manual/en/mongo.installation.php的介绍,安装mongo扩展需要依赖libsasl.dll, 所以要在系统环境变量中加入该目录。该目录一般是php的根目录。在wamp 2.5下,如果wamp的安装盘是D盘,该目录的位置大概是D:\wamp\bin\php\php5.5.12 

 

五、在php.ini中加入extension=php_mongo.dll

extension=php_mongo.dll这行字需要根据实际情况,有些是extension=php_mongodb.dll,取决于D:\wamp\bin\php\php5.5.12\ext目录中mongo扩展的名字。

注意:wamp中一般有两个php.ini文件,一个是位于php的根目录下,一个是apache的根目录下,需要添加的是apache根目录下的php.ini。

 

六、重启wamp服务

最好是完全退出后再打开

最后,上图体验一下安装后的美妙时刻。

安装成功后,查看phpinfo版面,会有以下内容显示。

 

至此, Windows 下添加php mongo扩展成功结束。

 

Linux下安装

 

安装环境

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

 

如需转载请注明: 转载自26点的博客

本文链接地址: 在window 和 linux下安装PHP MongoDB扩展

转载请注明:26点的博客 » 在window 和 linux下安装PHP MongoDB扩展

喜欢 (1)
发表我的评论
取消评论

表情