sql >> Databasteknik >  >> NoSQL >> MongoDB

mongo.so:> odefinierad symbol:php_json_encode in Okänd på rad 0. Efter installationen mongo drivrutin för php

Problemet är med laddningsordningen, så json-tillägget måste laddas innan mongo.so är laddad.

Eftersom andra sannolikt kommer att stöta på detta kommer jag att beskriva hela processen:

  • I din /etc/php/mods-available katalog (eller beroende på plattformen) skapa en separat mongo.ini med följande:
; configuration for php mongo module
; priority=30
extension=mongo.so
  • Ta bort alla andra referenser till mongo.so från andra filer som php.ini

  • Skapa symboliska länkar i var och en av cli och apache2 kataloger som krävs för användning som så:

sudo ln -s ../../mods-available/mongo.ini 30-mongo.ini

I slutet av detta bör du ha en struktur som ser ut så här

$/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

Detta säkerställer att "json"-tillägget kommer att laddas av den dynamiska laddaren innan "mongo"-modulen är.

Men ta bort i princip mongo.so från "php.ini" och lägg den i sin egen fil med högre laddningsordning än json-tillägget. Då kommer det att fungera.

Detta behöver möjligen en JIRA eftersom jag tror att det har kommit upp tidigare.

UPPDATERA :Det är faktiskt en öppen JIRA PHP-1052



  1. Mongoose - Spara en rad strängar

  2. Hur sparar jag en fil i MongoDB?

  3. Kör redis på nodejs Docker-bild

  4. Hur gör man ett frågedatum i mongodb med pymongo?