PHP致命错误:找不到接口'JsonSerializable'

问题描述 投票:1回答:1

我今天已经将我的D8站点从Windows移动并配置到Ubuntu 14.04 PC。但是当我运行该网站时,我收到以下错误:

致命错误:第32行的/var/www/eCartZone/core/lib/Drupal/Component/Render/MarkupInterface.php中找不到接口'JsonSerializable'

我从终端检查了php -m安装的模块,我在列表中找到了它。

enter image description here

我使用$ phpbrew install php-5.5.33 +default+json+mysql+curl安装了Php 5.5.33

版本信息:

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

我不知道如何解决这个问题!有人请帮我解决这个问题。

UPDATE 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
php json jsonserializer
1个回答
0
投票

经过一番研究,我终于得到了解决方案!希望这也可以帮助其他人。

据说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 :)

© www.soinside.com 2019 - 2024. All rights reserved.