GNU/Linux >> Linux Esercitazione >  >> Linux

- mongodb/mongodb 1.2.0 richiede ext-mongodb ^1.3.0 -> l'estensione PHP richiesta mongodb non è presente nel sistema

Composer ti sta dando la risposta giusta lì, stai usando la libreria sbagliata. Non usare --ignore-platform-reqs, o puoi forzare l'installazione. Quello che devi fare ora è controllare quale libreria si adatta al tuo versione php. Scrivi

php --versione

se non sai quale stai usando. L'output dovrebbe essere qualcosa del tipo:

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

Trova la tua versione nell'elenco sottostante.

Vedere la descrizione in mongodb:PHP-Driver for mongodb

Vai su pecl e scarica la versione che si adatta al tuo numero di versione php.

nel tuo caso (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

ora dovrebbe funzionare.

Puoi testare la connessione php mongodb con questo codice (trovando un 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);
}
?>

Nel terminale scrivi questo per testare la connessione:

$ php ConnectMongo.php

Assicurati di installare anche usando il compositore, non dovresti più ricevere lo stesso errore.


Linux
  1. Quali comandi mancano nel tuo file bashrc?

  2. Installazione del modulo mcrypt mancante per PHP 7.2

  3. Nella tua installazione di PHP sembra mancare l'estensione MySQL richiesta da WordPress.

  4. Impossibile rimuovere, eliminare, disinstallare mongodb da debian

  5. Utilizzo degli strumenti mongodb (mongodump, mongorestore) da un'altra macchina

Come risolvere l'installazione di PHP sembra mancare l'estensione MySQL richiesta da WordPress

MongoDB contro MySQL

Conosci il tuo sistema (usando la riga di comando)

Scegli il miglior file system per il tuo Linux

Come installare MongoDB GUI Adminer su AlmaLinux

Come prendere il controllo della tua sicurezza MongoDB