GNU/Linux >> Linux の 問題 >  >> Linux

- mongodb/mongodb 1.2.0 には ext-mongodb ^1.3.0 が必要です -> 要求された PHP 拡張機能 mongodb がシステムにありません

Composer はそこで正しい答えを示しています。間違ったライブラリを使用しています。 --ignore-platform-reqs を使用しないでください。強制的にインストールすることもできます。次に行う必要があるのは、どのライブラリが自分に合っているかを確認することです。 php バージョン。書く

<ブロック引用>

php --バージョン

どれを使っているかわからない場合。出力は次のようになります:

PHP 5.6.30-0+deb8u1 (cli) (built: Feb  8 2017 09:49:20)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

以下のリストでお使いのバージョンを見つけてください。

mongodb の説明を参照してください:PHP-Driver for mongodb

pecl にアクセスして、php のバージョン番号に合ったバージョンをダウンロードしてください。

あなたの場合 (PHP5.6):

$ wget https://pecl.php.net/get/mongodb-1.2.11.tgz
$ tar -xvzf mongodb-1.2.11.tgz
$ cd mongodb-1.2.11/
$ phpize
$ ./configure
$ make all -j 5
$ sudo make install

これで動作するはずです。

このコードで php mongodb 接続をテストできます (ObjectId を検索します):

<?php
# filename ConnectMongo.php
require_once __DIR__ . "/vendor/autoload.php";

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// connect to mongodb
$manager = new MongoDB\Driver\Manager('mongodb://username:[email protected]');

$id = new \MongoDB\BSON\ObjectId("5a0c8e2362eb6404c2f10032");
$filter = ['_id' => $id];
$options = [];

$query = new \MongoDB\Driver\Query($filter, $options);
$rows   = $manager->executeQuery('db.collection', $query);
foreach ($rows as $document) {
    var_dump($document);
}
?>

ターミナルでこれを書いて接続をテストします:

<ブロック引用>

$ php ConnectMongo.php

composer を使用してインストールすることも確認してください。同じエラーが発生することはもうありません。


Linux
  1. ssh接続の速度を確認する方法

  2. PHPGeoIP拡張機能をインストールする方法

  3. SSLキーからパスワードを削除する方法

  1. Linux でソースから (および YUM を使用して) MongoDB をインストールする方法

  2. Debian から mongodb を削除、パージ、アンインストールできません

  3. Linux bash ターミナルからすべての MongoDB データベースを一覧表示する

  1. bashrcファイルに欠落しているコマンドは何ですか?

  2. PHP7.2用の不足しているmcryptモジュールのインストール

  3. PHPのインストールに、WordPressに必要なMySQL拡張機能がないようです。