問題は読み込み順序にあるため、mongo.so
の前にjson拡張機能を読み込む必要があります ロードされます。
他の人がこれに遭遇する可能性が高いので、私はプロセス全体の概要を説明します:
-
/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
これにより、「mongo」モジュールが読み込まれる前に、「json」拡張機能が動的ローダーによって読み込まれるようになります。
ただし、基本的にmongo.so
を削除します 「php.ini」から、json拡張子よりも高い読み込み順序で独自のファイルに配置します。その後、機能します。
以前に登場したと思うので、これにはJIRAが必要になる可能性があります。
更新 :実際にはオープンなJIRA PHP-1052