json — фатальная ошибка PHP: интерфейс ‘JsonSerializable’ не найден

Сегодня я переместил и настроил свой сайт D8 с Windows на ПК с Ubuntu 14.04. Но когда я запускаю сайт, я получаю следующую ошибку:

Неустранимая ошибка: интерфейс ‘JsonSerializable’ не найден в /var/www/eCartZone/core/lib/Drupal/Component/Render/MarkupInterface.php в строке 32

Я проверил наличие установленных модулей с php -m из терминала, и я нашел его в списке.

введите описание изображения здесь

Я установил Php 5.5.33, используя $ phpbrew install php-5.5.33 +default+json+mysql+curl

Информация о версии:

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

Я не знаю, как решить эту проблему! Кто-нибудь, пожалуйста, помогите мне с решением.

ОБНОВИТЬ
Командный вывод 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

1

Решение

После еще одного исследования я наконец нашел решение! Надеюсь, что это может помочь и другим.

Говорят, что Drupal 8 работает на PHP 5.5.9+, тогда как моя версия php была 5.5.33.

Я обновил свой PHP до 5.6.22, и ошибка исчезла!

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

Как мой браузер (phpinfo();) и CLI теперь показывают 5.6.22 в качестве активной версии!

Благодаря jimsmith 🙂

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]