sql >> Databáze >  >> NoSQL >> MongoDB

Instalace Laravel Homestead Mongo způsobuje chybu PHP nedefinovaný symbol:php_json_serializable_ce v Neznámý na řádku 0

Myslím, že problém je v tom, že mongodb.so závisí na json.so. Řešením je načíst mongodb.so po json.so.

Předpokládám, že používáte vlastní skript Mongo pro Homestead. Skript vypíše modul mongodb.so v souboru php.ini s tím výsledkem, že se nejprve načte mongodb.so. Měli byste vytvořit soubor mongodb.ini, kde je načten mongodb.so.

Vytvořte soubor .ini:/etc/php/7.0/mods-available/mongodb.ini s obsahem:

; configuration for php mongo module
; priority=30
extension=mongodb.so

Dejte mu prioritu 30, protože json dostane 20 (v mém nastavení), aby se ujistil, že se načte později.

Vytvořte softlink ini-souboru na /etc/php/7.0/fpm/conf.d, aby byl dostupný pro webový server.

ln -s /etc/php/7.0/mods-available/mongodb.ini 30-mongodb.ini

Znovu načtěte webový server a php-fpm.

sudo service [your webserver] restart && sudo service php7.0-fpm restart

Jsi hotov! Stejným způsobem můžete nakonfigurovat verzi cli



  1. MongoDB $ a dotaz operátora v PHP

  2. techniky pro ukládání knihoven v system.js mongoDB

  3. Redis cluster/load balancing

  4. Jak přidat data do pole ve schématu Mongoose