Проблемът е с реда за зареждане, така че разширението json трябва да се зареди преди mongo.so
е зареден.
Тъй като има вероятност други да се натъкнат на това, ще очертая целия процес:
- Във вашия
/etc/php/mods-available
директория (или според платформата) създайте отделенmongo.ini
със следното:
; configuration for php mongo module
; priority=30
extension=mongo.so
-
Премахнете всички други препратки към
mongo.so
от други файлове катоphp.ini
-
Създайте символни връзки във всеки от
cli
иapache2
директории, както е необходимо за използване така:
sudo ln -s ../../mods-available/mongo.ini 30-mongo.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
Това гарантира, че разширението "json" ще бъде заредено от динамичния зареждане преди модула "mongo".
Но основно премахнете mongo.so
от "php.ini" и го поставете в собствен файл с по-висок ред на зареждане от разширението json. Тогава ще работи.
Това вероятно се нуждае от JIRA, тъй като вярвам, че се е появявал и преди.
АКТУАЛИЗИРАНЕ :Всъщност е отворен JIRA PHP-1052