MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Installation von Laravel Homestead Mongo verursacht PHP-Fehler undefiniertes Symbol:php_json_serializable_ce in Unknown in Zeile 0

Ich denke, das Problem liegt darin, dass mongodb.so von json.so abhängt. Die Lösung besteht darin, mongodb.so nach json.so zu laden.

Ich vermute, Sie verwenden das benutzerdefinierte Mongo-Skript für Homestead. Das Skript gibt das Modul mongodb.so in der Datei php.ini aus, mit dem Ergebnis, dass mongodb.so zuerst geladen wird. Sie sollten eine mongodb.ini-Datei erstellen, in der mongodb.so geladen wird.

Erstellen Sie die .ini-Datei:/etc/php/7.0/mods-available/mongodb.ini mit Inhalt:

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

Geben Sie ihm Priorität 30, da json 20 (in meinen Einstellungen) erhält, um sicherzustellen, dass es danach geladen wird.

Erstellen Sie einen Softlink der INI-Datei zu /etc/php/7.0/fpm/conf.d, um sie für den Webserver verfügbar zu machen.

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

Webserver und php-fpm neu laden.

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

Du bist fertig! Sie können die CLI-Version auf die gleiche Weise konfigurieren