首页  >  文章  >  后端开发  >  为什么 PHP 会抛出“调用未定义函数 json_decode()”错误,即使版本高于 5.1?

为什么 PHP 会抛出“调用未定义函数 json_decode()”错误,即使版本高于 5.1?

DDD
DDD原创
2024-11-01 07:11:30403浏览

Why does PHP throw a

“调用未定义函数 json_decode()”

PHP 致命错误:无法解码 JSON

PHP 错误“Call to undefined function json_decode()”表示 PHP 无法识别 JSON 解析函数。尽管报告的 PHP 版本高于 5.1,其中包括 JSON 支持,但仍然可能会发生此错误。

Debian 删除了 JSON 扩展

在基于 Debian 的系统(包括 Ubuntu)中,由于许可冲突,标准 JSON 扩展已从 PHP 5.5rc2 中删除。 Debian 要求所有打包软件符合 Debian 自由软件指南 (DFSG)。

JSON 许可问题

原始 JSON 许可证包含一个条款,限制其使用“善,而非恶”。这与 DFSG 对自由软件的定义相冲突,后者要求可以出于任何目的自由运行程序。因此,Debian 认为 JSON 许可证是非免费的。

替换 PHP 扩展

Debian 已替换标准 JSON使用符合 DFSG 的功能等效替代品进行扩展。要解决“json_decode()”错误,Debian 用户需要为其 PHP 版本安装适当的替换扩展:


  • sudo apt-get安装 php7.2-json (PHP 7.2)

  • sudo apt-get install php7.1-json (PHP 7.1)

  • sudo apt -get install php5-json (PHP 5.x)

Apache 重启


  • sudo service apache2 restart (Apache)

  • sudo 服务 php7.2-fpm restart (PHP-FPM 7.2)

其他信息

以上是为什么 PHP 会抛出“调用未定义函数 json_decode()”错误,即使版本高于 5.1?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn