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) buatmongo.ini
terpisah dengan sebagai berikut:
; configuration for php mongo module
; priority=30
extension=mongo.so
-
Hapus referensi lain ke
mongo.so
dari file lain sepertiphp.ini
-
Buat symlink di setiap
cli
danapache2
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