PHP fatal error: Interface 'JsonSerializable' not found

Subrata Sarkar picture Subrata Sarkar · Dec 7, 2016 · Viewed 11.2k times · Source

I have moved and configured my D8 site from Windows to Ubuntu 14.04 PC today. But when I run the site I am getting the following error:

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

I checked for installed modules with php -m from the terminal and I found it in the list.

enter image description here

I installed Php 5.5.33 using $ phpbrew install php-5.5.33 +default+json+mysql+curl

Version information:

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

I don't know how to resolve this issue! Somebody please help me with the solution.

UPDATE
Command output of 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

Answer

codezombie picture codezombie · Dec 7, 2019

You need to install php-json on your system. On redhat-based OSes you could install it with:

sudo dnf install php-json

On Debian-based OSes, do:

sudo apt-get install php-json