PHP添加MongoDB扩展实例教程

一、php mongo模块的编译

先从 http://pecl.php.net/package/mongo 下载目前的stable稳定版 ,目前的最新稳定版本是1.5.2 , 安装步骤如下:

 代码如下 复制代码
# wget http://pecl.php.net/get/mongo-1.5.2.tgz
# tar zxvf mongo-1.5.2.tgz
# cd mongo-1.5.2
# /usr/bin/phpize
# ./configure –with-php-config=/usr/bin/php-config
# make && make install

注:没有 phpize 工具时 ,可以通过yum -y install php-devel 安装后就会有该工具 。

二、php的扩展配置

完成后在/etc/php.ini中添加如下内容:

 代码如下 复制代码
extension=mongo.so

完成后,再使用php -m查看,发现报错:

 代码如下 复制代码
# php -m|grep mongo
/usr/lib64/php/modules/mongo.so: undefined symbol: php_json_encode in Unknown on line 1

经网上查询发现是需要对 json.so 模块依赖,经查看/usr/lib64/php/modules/目录下已经存在json.so模块 。即然存在报错的原因是因为json.so在mongo.so之后才加载的  。在/etc/php.ini中查找了下json的配置,发现不存在。在/etc/php.d目录找到了json.ini文件 。

 代码如下 复制代码
# cat /etc/php.d/json.ini
; Enable json extension module
extension=json.so

知道了原因 ,也依葫芦画瓢 ,将刚刚在/etc/php.ini中的mongo配置删除 ,在/etc/php.d/目录下新增mongo.ini ,内容为extension=mongo.so ,配置完成后再使用php -m|grep mongo检测发现正常  。

注:这里网上也有一些方法是通过将/etc/php.d/json.ini文件删除,在/etc/php.ini文件中将json模块的配置加到mongo模块配置之前 。该方法虽然也可以,不过不推荐,因为我上面的方法自动会查看各模块之间的依赖关系 ,再决定加载的先后顺序 。如果遇到其他模块存在该情况时,同样可以自动解决掉。

时间: 2024-11-01 04:27:39

PHP添加MongoDB扩展实例教程的相关文章

linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程_php技巧

本文实例讲述了linux平台编译安装PHP7并安装Redis扩展与Swoole扩展的方法.分享给大家供大家参考,具体如下: 前面<PHP7安装Redis扩展教程[Linux与Windows平台]>一文告诉读者简单的安装Redis的方法,下面我们来实现在linux中编译安装PHP7并安装Redis扩展与Swoole扩展的方法. 编译安装PHP7并安装Redis扩展Swoole扩展: 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php

yii2框架 操作 mongodb 数据库实例教程

一:安装yii2  关于安装yii2我们就不??铝耍?故抢??omposer安装下载,我们可以安装basic 模版 composer global require "fxp/composer-asset-plugin:~1.0.3" composer create-project --prefer-dist yiisoft/yii2-app-basic basic 或者是advanced composer global require "fxp/composer-asset-

Html5 Canva中绘制的元素添加鼠标事件实例教程

使用jTopo给Html5 Canva中绘制的元素添加鼠标事件 使用Html5的时候,在Canvas上绘制的东西是不能相应鼠标事件的,但是使用jTopo添加事件非常简单,效果如下: 代码示例: var node = new JTopo.Node("Hello"); node.setLocation(409, 269); node.mousedown(function(event){ if(event.button == 2){ node.text = '按下右键'; }else if(

PHP扩展开发教程(总结)_php实例

PHP是一种解释型的语言,对于用户而言,我们精心的控制内存意味着easier prototyping和更少的崩溃!当我们深入到内核之后,所有的安全防线都已经被越过,最终还是要依赖于真正有责任心的软件工程师来保证系统的稳定运行. 1.线程安全宏定义 在TSRM/TSRM.h文件中有如下定义 #define TSRMLS_FETCH()       void ***tsrm_ls = (void ***) ts_resource_ex(0, NULL) #define TSRMLS_FETCH_FR

Silverlight实例教程 - 自定义扩展Validation类,验证框架的总结和建议

Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation 数据验证开篇 Silverlight实例教程 - Validation数据验证基础属性和事件 Silverlight实例教程 - Validation数据验证DataAnnotation机制和调试技巧 Silverlight实例教程 - Validation客户端同步数据验证 Silverlight实例教程 - Validation 服务器端异步数据验证 Silverlight

CSS3实例教程:盒模型添加阴影属性box

文章简介:我们要对盒模型添加阴影怎么办呢?其实它的用法与text-shadow用法一样,只不过属性名称是box-shadow. 我们要对盒模型添加阴影怎么办呢?其实它的用法与text-shadow用法一样,只不过属性名称是box-shadow. 相关文章:CSS3教程:网页文字阴影属性text-shadow box-shadow: 此属性与text-shadow一样有4个值,前两个值分别表示水平方向位移距离和垂直方向的位移距离,第三个值表示阴影的模糊半径(包含0及以下的值均表示无模糊),最后一个

Photoshop给图片添加文字实例教程

Photoshop给图片添加文字实例教程,从其它地方抄来了,我们本文章要告诉你怎么用ps给照片加文字了,就这么简单哦,好了现在开始. 效果图片下面来看加文字教程. 第一步:打开图要处理的图片.打上文字如下. 第二,复制一层,并设置图层饱和度.

Silverlight实例教程 - Validation数据验证DataAnnotation机制和调试技巧

Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础属性和事件 Silverlight实例教程 - Validation数据验证DataAnnotation机制和调试技巧 Silverlight实例教程 - Validation客户端同步数据验证 Silverlight实例教程 - Validation服务器端异步数据验证 Silverlight实例

Silverlight实例教程 - Out of Browser与COM互操作实例

Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇 Silverlight 实例教程 - Out of Browser配置,安装和卸载 Silverlight 实例教程 - Out of Browser的自定义应用 Silverlight 实例教程 - Out of Browser存取本地文件系统 Silverlight 实例教程 - Out of Browser与COM的交互基础 Silverlight 实例教程 - Out of Br