就做呗。CentOS7 + PHP7 + mongoDB
创建PHP7环境来操作mongoDB。
按照前辈们的教导,详细步骤如下。
无需多思考,只需按照这些步骤,便可获得可用的操作环境的备忘录。
手续是在以下创建的VM环境上进行验证的。
好的,开始做吧。CentOS7 + Apache + MySQL + PHP7。
安装MongoDB
以下的工作由root用户执行
- リポジトリを追加する
vi /etc/yum.repos.d/10gen.repo
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1
- インストール
yum install mongo-10gen mongo-10gen-server
- 起動する
service mongod start
- 自動起動設定
chkconfig mongod on
在MongoDB中创建一个用于测试的集合。
- DBを作成する
mongo test_db
use test_db
- testというcollectionを作成する
db.createCollection('test');
- collectionにドキュメントを追加する
db.test.insert( { name:'tanaka', address:'tokyo' } );
- 確認
show dbs
show collections
db.test.find();
exit
使PHP能够使用mongoDB
- Extensionの一覧を見る
yum --enablerepo=epel,remi,remi-php70 search php70
- mongoDBのExtensionをインストールする
yum --enablerepo=epel,remi,remi-php70 install php70-php-pecl-mongodb
- php.iniに設定を追加する
vi /etc/php.ini
extension=mongodb.so
我当前的环境没有正确设置 extension_dir,所以需要使用完整的路径。(我只是想要一个能正常工作的环境)
extension=/opt/remi/php70/root/usr/lib64/php/modules/mongodb.so
- 確認
service httpd restart
如果在phpinfo()中显示了mongodb的信息,那就可以了
http://192.168.33.10/
在样本PG中进行操作确认
- サンプルPG
<?php
// DB接続
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
// Insert
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['name' => '山田', 'address' => '東京']);
$manager->executeBulkWrite('test_db.test', $bulk);
// Select
//$filter = ['address' => ['$gt' => 'tokyo']]; // where句
$filter = [];
$options = [
'projection' => ['_id' => 0],
'sort' => ['_id' => -1],
];
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('test_db.test', $query);
// Select 結果表示
foreach ($cursor as $document) {
var_dump($document);
}
?>
- 実行結果
- mongoDBの中身
- mongoDB Extensionのドキュメント
我们将根据以下内容进行操作的实施。
辛苦付出的努力
在互联网上经常推荐的pecl install mongo不能成功安装php7的mongodb扩展。
于是我阅读了文档,进行了一些搜索,花了大约一个小时……
目前我只是想在我的个人电脑上获得一个测试环境,所以没有深入追究。
等到真正开始开发时,我会认真处理的。
另外,旧版本的函数名称和用法可能发生了变化,代码示例也需要重新解读。