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!
php mongodb pecl composer
Commentami!