Linux下PHP安装配置MongoDB数据库连接扩展
Web服务器:
IP地址:192.168.21.127
PHP安装路径:/usr/local/php
实现目的:
安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库
具体操作:
一、安装PHP的MongoDB数据库扩展(在Web服务器192.168.21.127上操作)
下载地址:http://pecl.php.net/get/mongo-1.5.1.tgz
上传mongo-1.5.1.tgz到/usr/local/src目录
tar zxvf mongo-1.5.1.tgz #解压
cd mongo-1.5.1
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make #编译
make install #安装,完成之后出现下面的界面

系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
vi /usr/local/php/etc/php.ini #编辑,在最后一行添加下面的代码
extension="mongo.so"
:wq! #保存退出
service php-fpm reload #重新加载php-fpm
在站点根目录下添加php测试页面
vi /usr/local/nginx/html/phpinfo.php #编辑
<?php
phpinfo();
?>
:wq! #保存退出
打开上面的页面,http://192.168.21.127/phpinfo.php
如下图所示:

二、创建测试数据库(在MongoDB数据库服务器操作)
在mongodb上执行
cd /usr/local/mongodb/bin/
./mongo #进入数据库
#创建数据库:osyunweidb,在数据库中新建表,插入数据
use osyunweidb #创建数据库osyunweidb 如果什么都不操作离开的话,这个库就会被系统删除
db.createCollection("osyunweidb_table") #创建表osyunweidb_table
show collections #查看
db.osyunweidb_table.insert({uid:1,name:"系统运维",url:"http://www.osyunwi.com",content:"系统运维官方网站"}) #插入数据到表osyunweidb_table中
db.osyunweidb.find();
show dbs
三、创建数据库账号(在MongoDB数据库服务器操作)
===============================================================
1、MongoDB数据库默认没有用户名和密码,只要连接上服务,就能登录,进行所有操作。
2、可以通过配置文件设置,开启登录验证功能。
3、只有切换到admin数据库,添加的账号才是管理员账号。
4、管理员账号可以对MongoDB服务器所有数据库进行管理(但是:默认只能管理自己的admin数据库,要管理其他数据库,需要先在admin数据库中进行认证)
===============================================================
#添加普通账号
cd /usr/local/mongodb/bin/
./mongo #进入数据库
use osyunweidb
db.addUser('osyunweidbuser','123456') #账号:osyunweidbuser 密码:123456 权限:读写
#db.addUser('osyunweidbuser','123456',true) #账号:osyunweidbuser 密码:123456 权限:只读
db.auth('osyunweidbuser','123456') #添加用户认证
exit #退出
#添加管理员账号
cd /usr/local/mongodb/bin/
./mongo #进入数据库
show dbs #列出所有数据库
use admin #切换到admin数据库,添加的账号才是管理员账号。
show collections
db.system.users.find()
db.addUser('root','123456') #添加管理员账号:root 密码:123456
db.auth('root','123456') #添加管理员用户认证,认证之后才能管理所有数据库
exit #退出
###############################################################
#删除数据库、删除表操作
cd /usr/local/mongodb/bin/
./mongo
use osyunweidb #进入数据库
db.dropDatabase() #删除数据库
db.osyunweidb_table.drop() #删除表
db.removeUser('osyunweidbuser') #删除用户
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链
###############################################################
四、设置MongoDB配置文件,开启登录验证功能(在MongoDB数据库服务器操作)
vi /usr/local/mongodb/mongodb.conf #编辑配置文件
auth=true #开启认证
:wq! #保存配置
service mongod stop #停止
service mongod start #启动
cd /usr/local/mongodb/bin/
./mongo -uosyunweidbuser -p123456 127.0.0.1:27017/osyunweidb #进入mongodb控制台
exit #退出
cd /usr/local/mongodb/bin/
./mongo -uroot -p123456 127.0.0.1:27017/admin
db.system.users.find()
use osyunweidb
show collections
exit #退出
五、php连接测试数据库(在Web服务器192.168.21.127上操作)
vi /usr/local/nginx/html/test.php
<?php
$mongo = new Mongo("192.168.21.130:27017"); #连接数据库服务器
$db = $mongo->selectDB('osyunweidb'); #连接数据库
$db->authenticate("osyunweidbuser","123456"); #数据库连接账号和密码
$collection = $db->selectCollection("osyunweidb_table"); #选择数据库中的表
$result = $collection->find(); #读取数据
foreach($result as $value){ #输出数据
print_r($value);
}
echo "<br>";
foreach($result as $value){
echo "序号:".$value["uid"]."<br>";
echo "网站名称:".$value["name"]."<br>";
echo "URL:".$value["url"]."<br>";
echo "备注:".$value["content"]."<br>";
}
$mongo->close();
?>
打开页面http://192.168.21.127/test.php如下图所示,说明数据库连接成功。

至此,Linux下PHP安装配置MongoDB数据库连接扩展完成。
扩展阅读:
MongoDB数据库客户端工具
MongoVUE,如下图所示:

MongoDB 使用 奇数版本号作为开发版本。
MongoDB主要有三个A,B,C版本
- A 是主要版本. 功能上要么不变要么就做很大的改动。
- B 是发行版本号. 这种版本经常更新功能,包括一些新的特性并且常常不向后兼容。偶数是稳定版本,奇数是开发版本。
- C 版本号是用来修改BUG和安全性。
For example:
- 1.0.0 : 第一个发行版。
- 1.0.x : 修改1.0.x的BUG - 建议更新这个版本,风险比较小。
- 1.1.x : 开发版本。包含了一些新的特性,也许还没有完全开发完毕。较1.0变化很大。
- 1.2.x : 第二个发行版。是基于1.1.x的版本。
Linux下PHP安装配置MongoDB数据库连接扩展的更多相关文章
- linux下php7安装memcached、redis扩展
linux下php7安装memcached.redis扩展 1.php7安装Memcached扩展 比如说我现在使用了最新的 Ubuntu 16.04,虽然内置了 PHP 7 源,但 memcache ...
- VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)
首先启动Nginx 1. 相关浏览 两个 Tomcat 配置: VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...
- VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)
准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...
- Linux下git安装配置
一.Linux下git安装配置 2013-07-28 20:32:10| 分类: 默认分类 | 标签:linux git server |举报|字号 订阅 http://abomby ...
- JDK1.6在LINUX下的安装配置[转]
JDK1.6在LINUX下的安装是如何进行的呢,让我们开始我们的演示: Ubuntu Linux下jdk的安装与配置 1.JDK1.6安装准备 从sun公司网站www.sun.com下载linux版本 ...
- (实用)Linux下Eclipse安装配置PyDev
记录备忘. PyDev是Eclipse下支持Python开发的IDE插件,本文介绍安装和配置PyDev插件的过程. 一.安装PyDev插件两种安装方法: 1.在eclipse的Help->Ins ...
- Linux下Tomcat安装配置
买了台阿里云服务器,因为配置比较低,所以用Linux系统,这里记录一下我在Linux系统中Tomcat的安装配置. 前提JDK已经安装好. 安装 首先在/usr/local/下建立一个tomcat的文 ...
- Linux下,安装配置Weblogic
环境说明 系统 -- Linux RHEL5 32bit 环境 -- 局域网中在192.168.0.140(windows)通过xshell连接服务器 软件 -- 1.JDK:1.5.0_15 2. ...
- Linux下Mycat安装配置和使用
mysql安装下载mysql[百度云]tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz 解压把mysql文件夹移动到 /usr/local/ 下m ...
随机推荐
- Using HttpClient properly to avoid CLOSE_WAIT TCP connections
Apache的HttpComponent组件,用的人不在少数.但是能用好的人,却微乎其微,为什么?很简单,TCP里面的细节实现不是每个人都能捕获到的(细节是魔鬼),像并发请求控制&资源释放,N ...
- TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]
TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...
- JSTL配合正则表达式在JSP中的应用
<%@ page language="java" import="java.util.*,cn.com.Person" pageEncoding=&quo ...
- 使用spring @Scheduled注解运行定时任务、
曾经框架使用quartz框架运行定时调度问题. 老大说这配置太麻烦.每一个调度都须要多加在spring的配置中. 能不能降低配置的量从而提高开发效率. 近期看了看spring的 scheduled的使 ...
- Nested Class Templates
Templates can be defined within classes or class templates, in which case they are referred to as ...
- 设计模式2----建造者模式(builder pattern)
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 类型:创建类模式 类图: UML图 四个要素 Builder: 抽象建造者ConcreteBuilder: 具体建造者 ...
- 当setTimeout遇到闭包
1: function myTest(){ for(var i=0; i< 5; i++){ setTimeout(console.log(i), 0); } } myTest(); 或者比较正 ...
- Swift中的协议
协议: 1.Swift协议用于定义多个类型应该遵守的规范 2.协议定义了一种规范, 不提供任何实现 3.协议统一了属性名, 方法, 下标, 但是协议并不提供任何实现 4.语法格式: [修饰符] pro ...
- POI创建Excle
1.导包 2.Demo Workbook wb=new HSSFWorkbook();//创建工作空间 Sheet sh= wb.createSheet("工作表1");//创建工 ...
- 指针 v.s. 引用
对C++的指针总觉得和引用差不多,其实还是挺有差别的. 程序 先看一个小程序: ; int& ra = a; int* pa = &ra; printf("&a = ...