Ubuntu源码安装PHP MongoDB驱动

0x00前言

  尝试了几种网上介绍ubuntu系统下PHP MongoDB驱动的安装教程,大多都是说直接pecl安装,然而我的系统并不支持这种安装,只能用源代码安装了,虽说简单,但是也有一些小坎需要注意,记录一下。

0x01安装

可以参考官方教程,文件下载地址:Github
第一步:linux下可以利用wget下载,

1
wget https://github.com/mongodb/mongo-php-driver-legacy/archive/master.zip

下载完成解压master.zip文件得到mongo-php-driver-legacy-master(根据实际文件名而定)

1
unzip master.zip

第二步:编译

1
2
3
4
cd mongo-php-driver-legacy-master
sudo ./configure
sudo make all
sudo make install

第三步:安装配置
1.需要把编译生成的文件mongo.so拷贝到php扩展文件的目录
mongo.so文件目录为:./modules/mongo.so
php扩展文件目录通过如下命令查看:

1
php -i | grep extension_dir

输出如下:

1
extension_dir => /usr/lib/php5/20121212 => /usr/lib/php5/20121212

由此得知php扩展文件的路径,执行如下拷贝命令

1
sudo cp ./modules/mongo.so /usr/lib/php5/20121212

2.添加extension=mongo.so到php.ini文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=mongo.so
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
; extension=msql.so
;
; ... or with a path:
;
; extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.

注:也可以不用复制,只配置extension=/绝对路径/mongo.so,不推荐该方式(易误删)
第四步:测试
查看phpinfo信息看到mongo即为成功安装