MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mongo.so:> niezdefiniowany symbol:php_json_encode w Unknown w linii 0. Po instalacji sterownika mongo dla php

Problem dotyczy kolejności ładowania, więc rozszerzenie json należy załadować przed mongo.so jest załadowany.

Ponieważ inni mogą się z tym spotkać, opiszę cały proces:

  • W swoim /etc/php/mods-available katalog (lub odpowiednio do platformy) utwórz oddzielny mongo.ini z następującymi:
; configuration for php mongo module
; priority=30
extension=mongo.so
  • Usuń wszelkie inne odniesienia do mongo.so z innych plików, takich jak php.ini

  • Utwórz dowiązania symboliczne w każdym z cli i apache2 katalogi wymagane do użycia, ponieważ:

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

Na koniec powinieneś mieć strukturę, która wygląda tak

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

Daje to pewność, że rozszerzenie „json” zostanie załadowane przez dynamiczny program ładujący przed modułem „mongo”.

Ale w zasadzie usuń mongo.so z "php.ini" i umieść go we własnym pliku z wyższą kolejnością ładowania niż rozszerzenie json. Wtedy to zadziała.

Prawdopodobnie wymaga to JIRA, ponieważ wierzę, że pojawiło się wcześniej.

AKTUALIZUJ :Właściwie jest to otwarta JIRA PHP-1052



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $filter wewnątrz $project MongoDB przy użyciu Spring Data

  2. Znajdź i policz elementy kolekcji z Mongoose

  3. php mongodb wyszukiwanie pełnotekstowe i sortowanie

  4. Dodawanie/odejmowanie dni do ISODate w powłoce MongoDB

  5. Optymalizacja zapytań MongoDB