Das Problem liegt in der Ladereihenfolge, daher muss die JSON-Erweiterung vor mongo.so
geladen werden wird geladen.
Da andere wahrscheinlich darauf stoßen, werde ich den gesamten Prozess skizzieren:
- In Ihrem
/etc/php/mods-available
Verzeichnis (oder je nach Plattform) eine separatemongo.ini
erstellen mit folgendem:
; configuration for php mongo module
; priority=30
extension=mongo.so
-
Entfernen Sie alle anderen Verweise auf
mongo.so
aus anderen Dateien wiephp.ini
-
Erstellen Sie Symlinks in jedem der
cli
undapache2
Verzeichnisse, die für die Verwendung wie folgt erforderlich sind:
sudo ln -s ../../mods-available/mongo.ini 30-mongo.ini
Am Ende sollten Sie eine Struktur haben, die so aussieht
$/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
Dadurch wird sichergestellt, dass die „json“-Erweiterung vom dynamischen Ladeprogramm geladen wird, bevor das „mongo“-Modul geladen wird.
Aber grundsätzlich die mongo.so
entfernen aus "php.ini" und lege es in eine eigene Datei mit einer höheren Ladereihenfolge als die json-Erweiterung. Dann wird es funktionieren.
Dies erfordert möglicherweise ein JIRA, da es meines Erachtens schon einmal aufgetreten ist.
AKTUALISIEREN :Ist eigentlich ein offenes JIRA PHP-1052