Problemet er med indlæsningsrækkefølgen, så json-udvidelsen skal indlæses før mongo.so
er indlæst.
Da andre sandsynligvis vil støde på dette, vil jeg skitsere hele processen:
- I din
/etc/php/mods-available
mappe (eller alt efter platformen) opret en separatmongo.ini
med følgende:
; configuration for php mongo module
; priority=30
extension=mongo.so
-
Fjern eventuelle andre referencer til
mongo.so
fra andre filer såsomphp.ini
-
Opret symbollinks i hver af
cli
ogapache2
mapper efter behov for brug som sådan:
sudo ln -s ../../mods-available/mongo.ini 30-mongo.ini
I slutningen af dette bør du have en struktur, der ser sådan ud
$/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
Dette sikrer, at "json"-udvidelsen indlæses af den dynamiske loader, før "mongo"-modulet er.
Men fjern dybest set mongo.so
fra "php.ini" og læg den i sin egen fil med højere indlæsningsrækkefølge end json-udvidelsen. Så vil det virke.
Dette kræver muligvis en JIRA, da jeg tror, det er dukket op før.
OPDATERING :Faktisk er en åben JIRA PHP-1052