http://php.net/manual/zh/migration70.incompatible.php , php7 文档中不向后兼容的变更提到的 JSON 扩展已经被 JSOND 取代, JSOND 是什么鬼?
1
mcfog 2015-12-05 14:12:13 +08:00 2
详情
https://wiki.php.net/rfc/jsond https://bugs.php.net/bug.php?id=63520 简单来说, JSON 的协议( http://www.json.org/license.html )被认为不属于自由的开源协议,导致很多源当中的 PHP 都无法内置 json 模块(需要额外安装,比如`apt-get install php5-json`) 参考 https://wiki.debian.org/qa.debian.org/jsonevil 八卦 Douglas 是 JSON 发明人,蝴蝶书作者 https://en.wikipedia.org/wiki/Douglas_Crockford#.22Good.2C_not_Evil.22 和社区吵的不要不要的 |
2
ben548 OP @mcfog 什么意思?不是自 PHP 5.2.0 起, JSON 扩展就默认内置并编译进了 PHP 吗?为什么会出现一个 jsond ? jsond 和 json 有什么区别啊?文献太多太长了。。。
|
3
mcfog 2015-12-05 14:39:17 +08:00
@ben548 JSON 原作者定的协议当中有一句被社区认为违反自由原则的描述( GNU 、 debian 、 fedora 、红帽等等均如此认定)
The Software shall be used for Good, not Evil. 所以这些代码是无法进入多数主流发行版的软件源里的,默认配置的源里都不会有 JSON 库的代码的, PHP 也一样,即使默认的编译配置是带 json 的,但放到源里的版本不能包括 JSON 所以有人写了个 jsond 来取代 json |
5
Zzzzzzzzz 2015-12-05 15:07:29 +08:00
从来没额外安装过 php5-json, 刚看了下发现原来 php5-common 依赖 php5-json, 只要装到 php 就会自动把 php5-json 给装了, 只想说城会玩.....
|