Bene, ecco una strana situazione che ho trovato. Ho usato PHP e MongoDB insieme su un progetto e aggiornato il software associato. Dopo l'aggiornamento, ho fatto assicuratevi di aggiornare i nuovi file conf e tutto va bene --- tranne quando si tenta di utilizzare la classe MongoClient
, ottengo il seguente errore fatale:Dopo l'aggiornamento di PHP alla versione 7, perché non posso usare il driver mongodb?
Fatal error: Uncaught Error: Class 'MongoClient' not found in /srv/http/test.php
Quindi il mio primo istinto è stato per controllare il mio /etc/php/php.ini
per assicurarmi che mongodb.so fosse correttamente incluso. L'ho trovato dopo gli altri extension
linee:
extension=mcrypt.so
extension=zip.so
extension=mongodb.so ; <--- here it is
Con questo controllato, ho caricato un phpinfo()
sceneggiatura rapido per verificare che stavo usando il file giusto php.ini
, e confermato che sono. E non solo, anche il driver mongodb sembra essere caricato correttamente!
Loaded Configuration File /etc/php/php.ini
. . .
mongodb support enabled
mongodb version 1.1.1
mongodb stability stable
libmongoc version 1.3.1-dev
libbson version 1.3.0
Quindi ho riavviato httpd e ho provato di nuovo. Nessun dado, non è ancora possibile trovare la classe MongoClient
. Così ho provato a installarlo da pecl
invece del gestore pacchetti della mia distribuzione, e la situazione è la stessa descritta sopra.
Quindi, ecco un breve riassunto della situazione:
- kernel Linux 4.3.3
- PHP versione 7.0.1
- versione php-1.1.1 mongodb
- Sì, 1.1.1 supports php7.
- Sembra configurato correttamente e mongodb è abilitato e visualizzato in
phpinfo()
. - Provato a installare il driver mongodb tramite
pecl
e il gestore pacchetti della mia distro.
Altre informazioni che possono essere utili:
- MongoDB versione 3.2.0
mongod
è in esecuzione- provato anche il riavvio, nessun cambiamento.
sono coloro serio ?! qui una libreria userspace: http://mongodb.github.io/mongo-php-library/. Grazie :) – ianaz
@ianaz buona chiamata, dovrei aggiungere questo alla risposta. – dotVezz