Le problème est avec l'ordre de chargement, donc l'extension json doit être chargée avant mongo.so
est chargé.
Étant donné que d'autres sont susceptibles de rencontrer cela, je vais décrire l'ensemble du processus :
- Dans votre
/etc/php/mods-available
répertoire (ou selon la plate-forme) créez unmongo.ini
séparé avec ce qui suit :
; configuration for php mongo module
; priority=30
extension=mongo.so
-
Supprimez toute autre référence à
mongo.so
à partir d'autres fichiers tels quephp.ini
-
Créer des liens symboliques dans chacun des
cli
etapache2
répertoires requis pour une utilisation en tant que telle :
sudo ln -s ../../mods-available/mongo.ini 30-mongo.ini
À la fin de cela, vous devriez avoir une structure qui ressemble à ceci
$/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
Cela garantit que l'extension "json" sera chargée par le chargeur dynamique avant le module "mongo".
Mais en gros, supprimez le mongo.so
de "php.ini" et placez-le dans son propre fichier avec un ordre de chargement plus élevé que l'extension json. Alors ça marchera.
Cela a peut-être besoin d'un JIRA car je pense que cela s'est déjà produit.
MISE À JOUR :est en fait un JIRA PHP-1052 ouvert