समस्या लोडिंग ऑर्डर के साथ है, इसलिए 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.so
को हटा दें "php.ini" से और इसे अपनी फ़ाइल में json एक्सटेंशन की तुलना में उच्च लोडिंग ऑर्डर के साथ रखें। तब यह काम करेगा।
इसे संभवतः एक जिरा की जरूरत है क्योंकि मेरा मानना है कि यह पहले भी आ चुका है।
अपडेट करें :वास्तव में एक खुला JIRA PHP-1052
. है