2016-12-07 2 views
2

Ich habe heute meine D8-Site von Windows auf Ubuntu 14.04 PC verschoben und konfiguriert. Aber wenn ich die Seite laufen erhalte ich folgende Fehlermeldung:PHP fataler Fehler: Schnittstelle 'JsonSerializable' nicht gefunden

Fatal error: Interface 'JsonSerializable' not found in /var/www/eCartZone/core/lib/Drupal/Component/Render/MarkupInterface.php on line 32

Ich habe für die installierten Module mit php -m vom Terminal und ich fand es in der Liste.

enter image description here

Ich installierte Php 5.5.33 $ phpbrew install php-5.5.33 +default+json+mysql+curl

Versionsinformationen mit:

Php: 5.5.33 
Drupal: 8.2.3 
Apache: 2.4.7 
MySql: 14.14, Distrib 5.5.53 

Ich weiß nicht, wie dieses Problem zu lösen! Jemand bitte hilf mir bei der Lösung.

UPDATE
Befehlsausgabe von php -r "phpinfo();" | grep json

PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Command line code on line 1 
Configure Command => './configure' '--cache-file='''/home/subrara/.phpbrew/cache/config.cache'''' '--prefix=/home/subrara/.phpbrew/php/php-5.5.33' '--with-config-file-path=/home/subrara/.phpbrew/php/php-5.5.33/etc' '--with-config-file-scan-dir=/home/subrara/.phpbrew/php/php-5.5.33/var/db' '--disable-all' '--enable-session' '--enable-short-tags' '--with-zlib=/usr' '--with-libdir=lib/x86_64-linux-gnu' '--with-curl=/usr' '--enable-json' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--enable-libxml' '--enable-simplexml' '--enable-xml' '--enable-xmlreader' '--enable-xmlwriter' '--with-xsl' '--with-libxml-dir=/usr' '--enable-bcmath' '--with-bz2=/usr' '--enable-calendar' '--enable-cli' '--enable-ctype' '--enable-dom' '--enable-fileinfo' '--enable-filter' '--enable-shmop' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-mbregex' '--enable-mbstring' '--with-mhash=/usr' '--with-mcrypt=/usr' '--enable-pcntl' '--with-pcre-regex' '--with-pcre-dir=/usr' '--enable-pdo' '--enable-phar' '--enable-posix' '--with-readline=/usr' '--enable-sockets' '--enable-tokenizer' '--with-openssl=/usr' '--enable-zip' '--with-pear=/home/subrara/.phpbrew/php/php-5.5.33/lib/php' '--enable-zend-signals' 
/home/subrara/.phpbrew/php/php-5.5.33/var/db/json.ini 
json 
json support => enabled 
json version => 1.2.1 
+0

Was zeigt 'php -r "phpinfo();" | grep json'? – JustOnUnderMillions

+0

Auch die geladenen Module unterscheiden sich je nachdem, ob Sie einen integrierten PHP oder einen Webserver wie Apache verwenden. – JezEmery

+0

Laufen Sie in Ihrem Browser dieselbe PHP-Version wie in der Konsole? – Evert

Antwort

0

Nach einigen mehr Forschung ich die Lösung endlich! Hoffe, das könnte auch anderen helfen.

Drupal 8 soll auf PHP 5.5.9+ arbeiten, während meine PHP-Version 5.5.33 war.

Ich habe mein PHP auf 5.6.22 aktualisiert und der Fehler ist weg!

$ phpbrew install php-5.6.22 +default+curl+json+mysql+apxs2=/usr/bin/apxs2 
$ phpbrew switch php-5.6.22 
$ sudo service apache2 restart 

Sowohl mein Browser (phpinfo();) und jetzt CLI 5.6.22 als aktive Version zeigen!

Dank jimsmith :)

Verwandte Themen