我是Ubuntu 16.04的新手。我想执行php 7和mongoDB 2.6连接。我谷歌很多,但我找不到任何正确的东西。任何人都可以一步一步地完成连接设置。另外我对ubuntu系统了解不多,所以请解释这些步骤。如果我的英文错误,我很抱歉。mongoDB和php的连接Ubuntu的16.04
回答
我安装在PHP PHP /转/驱动器去驱动---你CAND这里下载https://docs.mongodb.com/ecosystem/drivers/php/ 和PHP/php.ini中 - > 延长= php_mongodb
与PHP 7使用类似
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$filter = [];
$options = [
'projection' => ['_id' => 0],
];
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);
我在ubuntu 16.04上使用php版本7.0。我提供了解决连接问题的详细信息。 首先我手动安装了mongodb,然后为它安装了mongodb-php驱动程序。
1)安装mongo db。输入以下命令:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
为了正常启动Mongdb作为一种服务,即自动启动的MongoDB在系统启动时,请按照下列步骤操作:
创建文件mongodb.service在/ etc/systemd /系统/通过输入命令:
$ sudo nano /etc/systemd/system/mongodb.service
在它粘贴以下内容:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
然后输入以下命令:
$ sudo systemctl start mongodb
$ sudo systemctl enable mongodb
2)安装蒙戈 - PHP驱动程序:
$ sudo pecl install mongodb
你也可能会收到错误:phpize没有找到。 Phpize是一个用于创建构建环境的命令。这个错误可能在安装任何pecl扩展时出现。要解决未找到phpize命令的这个问题,用户必须安装php5-dev软件包。 要安装它,输入命令:php.ini文件中这是/etc/php/7.0/apache2目录
$ sudo apt-get install php7.0-dev
然后,添加蒙戈DB扩展:
$ sudo nano /etc/php/7.0/apache2/php.ini
添加以下行中的文件:
extension = mongodb.so;
(只要你知道,文件mongodb.so的确切位置是在/usr/lib/php/20151012/mongodb.so。)
所以蒙戈DB与它的驱动程序一起安装。
3)现在请记住,mongo-php类已被更改。网络中的大多数可用资源都使用被取代的旧类来提供解决方案。以下是你可以参考链接:
http://php.net/manual/en/set.mongodb.php
http://zetcode.com/db/mongodbphp/
下面是一些命令对基本的数据库操作:
$mng = new MongoDB\Driver\Manager(); // Driver Object created
将数据插入到数据库:
$bulk = new MongoDB\Driver\BulkWrite;
$doc = ["_id" => new MongoDB\BSON\ObjectID, "data" => $someData, "info" => $someInfo];
$bulk->insert($doc);
$mng->executeBulkWrite('dbName.collectionName', $bulk);
对于fe tching数据:
$query = new MongoDB\Driver\Query([]);
$rows = $mng->executeQuery("dbName.collectionName", $query);
foreach ($rows as $row)
{
echo "$row->data - $row->info\n";
}
感谢您的更新回答。虽然我用“extension = mongodb.so”而不是“mongo.so”。文件夹“/ usr/lib/php/20151012 /”是默认扩展文件夹,因此不需要明确指定。 – garyF
我确认该库现在命名为'mongodb.so',因此我必须为此更新执行 – fillobotto
Thanx @fillobotto。 –
- 1. MongoDB Server Ubuntu 16.04
- 2. 与Ubuntu 16.04连接MSSQL
- 3. 的Ubuntu 16.04,Redis的连接被拒绝
- 4. 如何在ubuntu上使用oci8连接php 7和oracle 12c 16.04
- 5. 在Ubuntu上安装MongoDB 16.04
- 6. mongodb和php连接
- 7. Ubuntu中的MongoDB和php 11.04
- 8. mongodb和php:连接池
- 9. MongoDB是不是在Ubuntu 16.04开始
- 10. 无法连接到Ubuntu的MongoDB?
- 11. 64bit的Mongodb 3.4 Ubuntu 16.04 mongodb-27017.sock错误
- 12. ubuntu上的kubernetes 16.04
- 13. Ubuntu上的mathtex 16.04
- 14. Ubuntu上的System.Security.Cryptography.Csp 16.04
- 15. 如何在Ubuntu 16.04中安装Mongodb PHP扩展LTS
- 16. PHP的配置不会在Ubuntu 16.04 XAMPP
- 17. Ubuntu的16.04 + PHP-7.0.22 + ODBC不工作
- 18. 连接到运行在Docker容器上的mysql ubuntu 16.04
- 19. Neo4j:从Ubuntu的JavaScript连接到localhost:7474/REST API 16.04
- 20. 无法在Azure上的Ubuntu 16.04上连接Percona Docker镜像
- 21. php mongodb连接x509
- 22. Python套接字连接在Ubuntu上每9个连接有一秒延迟16.04
- 23. 的ubuntu - Ubuntu的16.04服务器
- 24. 在Ubuntu 16.04
- 25. 在Ubuntu 16.04
- 26. Anaconda3和defaualt Ubuntu中的python冲突16.04
- 27. Ubuntu的Qt包和configure.user文件16.04
- 28. 我在ubuntu-16.04上使用mongodb,但是mongodb给服务器连接错误我该怎么办?
- 29. Docker(Ubuntu 16.04)Apache/PHP7/Mysql5_7 - 数据库:连接失败:连接被拒绝
其中php.ini文件,我要补充延长= php_mongodb(在阿帕奇/ php.ini中或CLI/php.ini中) –