Connessione a MongoDB con PHP

Mattepuffo's logo
Connessione a MongoDB con PHP

Connessione a MongoDB con PHP

Per la connessione a MongoDB con PHP pare che sia obbligatorio usare pecl per l'installazione del driver.

Il pacchetto trovato in Debian 10 non è stato utile, o forse è addirittura deprecato.

Alla fine sono riuscito nell'intento usando questa procedura.

Prima di tutto installiamo il driver con pecl:

# pecl install -f mongodb

Fatto questo ho aggiunto la seguente riga:

extension=mongodb.so

in questi due files:

  • /etc/php/7.3/apache2/php.ini
  • /etc/php/7.3/cli/php.ini

Ovviamente cambiate la vostra versione di PHP; inoltre non so se sia necessario su entrambi i files, ma nel dubbio...

Poi riavviate Apache e controllate che si sia riavviato correttamente:

# systemctl restart apache2
# systemctl status apache2

Anche qui il comando può cambiare a seconda della distro.

Adesso dobbiamo installare la libreria tramite composer:

$ composer require mongodb/mongodb

Ed è giunto il momento di scrivere un pò di codice PHP:

require 'vendor/autoload.php';

$client = new MongoDBClient("mongodb://localhost:27017");
$collection = $client->db_libri->libri;

$result = $collection->find();

foreach ($result as $entry) {
    echo "ID:" . $entry['_id'] . '<br>';
    echo 'TITOLO:' . $entry['titolo'];
    $autori = $entry['autori'];
    echo '<br>AUTORI: <ul>';
    foreach ($autori as $a) {
        echo '<li>' . $a . '</li>';
    }
    echo '</ul><hr>';
}

Nel complesso il codice è abbastanza facile da capire; l'unica nota è su questa riga:

$collection = $client->db_libri->libri;

Qui indichiamo il db e la collezione che vogliamo usare.

Enjoy!


Condividi

Commentami!