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

mongo.so:> simbol tidak terdefinisi:php_json_encode in Unknown on line 0. Setelah instalasi driver mongo untuk php

Masalahnya adalah dengan urutan pemuatan, jadi ekstensi json harus dimuat sebelum mongo.so dimuat.

Karena orang lain kemungkinan akan menemukan ini, saya akan menjelaskan keseluruhan prosesnya:

  • Di /etc/php/mods-available direktori (atau sesuai dengan platform) buat mongo.ini terpisah dengan sebagai berikut:
; configuration for php mongo module
; priority=30
extension=mongo.so
  • Hapus referensi lain ke mongo.so dari file lain seperti php.ini

  • Buat symlink di setiap cli dan apache2 direktori yang diperlukan untuk digunakan sebagai berikut:

sudo ln -s ../../mods-available/mongo.ini 30-mongo.ini

Pada akhir ini Anda harus memiliki struktur yang terlihat seperti ini

$/etc/php5$ tree
.
├── apache2
│   ├── conf.d
│   │   ├── 05-opcache.ini -> ../../mods-available/opcache.ini
│   │   ├── 10-pdo.ini -> ../../mods-available/pdo.ini
│   │   ├── 20-json.ini -> ../../mods-available/json.ini
│   │   ├── 20-readline.ini -> ../../mods-available/readline.ini
│   │   └── 30-mongo.ini -> ../../mods-available/mongo.ini
│   └── php.ini
├── cli
│   ├── conf.d
│   │   ├── 05-opcache.ini -> ../../mods-available/opcache.ini
│   │   ├── 10-pdo.ini -> ../../mods-available/pdo.ini
│   │   ├── 20-json.ini -> ../../mods-available/json.ini
│   │   ├── 20-readline.ini -> ../../mods-available/readline.ini
│   │   └── 30-mongo.ini -> ../../mods-available/mongo.ini
│   └── php.ini
└── mods-available
    ├── json.ini
    ├── mongo.ini
    ├── opcache.ini
    ├── pdo.ini
    └── readline.ini

Ini memastikan bahwa ekstensi "json" akan dimuat oleh pemuat dinamis sebelum modul "mongo".

Tapi pada dasarnya hapus mongo.so dari "php.ini" dan letakkan di file itu sendiri dengan urutan pemuatan yang lebih tinggi daripada ekstensi json. Maka itu akan berhasil.

Ini mungkin membutuhkan JIRA seperti yang saya yakini telah muncul sebelumnya.

PERBARUI :Sebenarnya adalah JIRA PHP-1052 yang terbuka



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara menjumlahkan nilai kunci di semua dokumen dalam koleksi MongoDB

  2. Bahaya Membangun Indeks di MongoDB

  3. Cara Menginstal MongoDB di Ubuntu 18.04

  4. Fungsi Mongo Find() tidak akan mengecualikan _id

  5. Luwak menghapus (menarik) dokumen dalam array, tidak berfungsi dengan ObjectID