MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB:Kesalahan fatal:Kelas 'MongoClient' tidak ditemukan

TL;DR

Kelas MongoClient adalah bagian dari mongo paket PECL lama tetapi tidak lagi dari paket mongodb terbaru.

Dan karena Anda memiliki mongodb ekstensi diinstal, dan bukan mongo satu, ini sebabnya Anda mendapatkan kesalahan

Fatal error: Class 'MongoClient' not found

Pada repo github driver MongoDB PHP, catatan rilis tentang versi 1.0.0 menyarankan pengembang untuk menggunakan MongoDB\Driver\Manager bukannya MongoClient

Perubahan dari ekstensi mongo lawas kami

Yang paling signifikan, kelas MongoClient, MongoDB, dan MongoCollection driver lama telah ditinggalkan oleh kelas MongoDB\Driver\Manager, yang merupakan gerbang baru untuk menghubungkan dan mengeksekusi kueri, perintah, dan operasi penulisan.

Jadi, inilah dokumentasi kelas pengganti dan cuplikan kode yang seharusnya menggantikan milik Anda :

$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");

Saat dokumentasi memintanya, kelas tidak digunakan lagi.

Peringatan Ekstensi yang mendefinisikan kelas ini tidak digunakan lagi. Sebagai gantinya, ekstensi MongoDB harus digunakan. Alternatif untuk kelas ini meliputi:

  • MongoDB\Driver\Manager

Dari apa yang saya baca di riwayat rilis repositori github mereka, kelas yang Anda coba gunakan telah usang sejak versi mongodb 1.0.0 , jadi, pada versi 1.6.0 ya, kelas ini bahkan bukan bagian dari dll lagi.

Itu dikonfirmasi oleh masalah ini di github mereka

derickr berkomentar pada 16 April

MongoClient adalah kelas dari legacydriver lama dan tidak seharusnya tersedia di yang ini. Driver baru memiliki \MongoDB\Driver\Manager, dan, perpustakaan yang menyertainya memiliki\MongoDB\Client.

Anda juga perlu menginstal ekstensi lama (pecl installmongo) dan menggunakan PHP 5.x, atau memperbarui kode Anda untuk menggunakan kelas driver baru ini karena driver lama tidak tersedia untuk PHP 7. Ada panduan peningkatan di http:// mongodb.github.io/mongo-php-library/upgrade-guide/

Cara lain, seperti yang disarankan oleh anggota MongoDB yang dikutip di sini di atas adalah dengan menggunakan ekstensi pecl ini:https://pecl.php.net/package/mongo alih-alih https://pecl.php.net/package/mongodb tapi tolong juga perhatikan peringatan di sana yang menyatakan:

Paket ini telah digantikan, tetapi masih dipertahankan untuk bug dan perbaikan keamanan.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kembalikan Dokumen terakhir Dari Pencarian

  2. Cara menerapkan versi data di MongoDB

  3. Hapus bidang dari semua elemen dalam array di mongodb

  4. Adakah alasan terperinci dan spesifik untuk Mengapa MongoDB jauh lebih cepat daripada SQL DB?

  5. Pembaruan koleksi meteor dengan id tradisional