在php.net中,我找到了这一行:
从PHP 5.2.0开始,JSON扩展默认捆绑并编译为PHP。 http://php.net/manual/en/json.installation.php
那么为什么这个php扩展名仍然存在?例如:php7.2-json
我们在谈论相同的json扩展名吗?
答案 0 :(得分:3)
该扩展是捆绑在一起的(即,不需要从外部存储库中下载就可以在主zip内提供),也可以进行编译(即无需在{{1 }}文件),并不表示该扩展程序的源代码已被完全删除。
PHP的许多功能的源代码都以扩展形式进行组织-可以是外部,动态或静态编译和捆绑的)。
您仍然会发现php json扩展名是一个独立的lib;但您不必自己安装它,也不需要在ini
文件中激活它。
答案 1 :(得分:1)
所有版本的PHP都附带有一个工作正常的php5-json模块。
但是,在PHP7中,底层代码已被jsond扩展名中的代码替换,这导致了一些与更严格地符合JSON RFC相关的明显更改。
Debian用免费的实现替换了PHP 5.5中的非免费JSON扩展,我不确定它是否与PHP 7.0中使用的相同的免费实现(jsond)。因此,简而言之,您可能会注意到这些不同的实现之间在处理非严格JSON的方式上的差异,但是,所有版本的PHP都附带了与API兼容的json扩展。