我是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中) –