我必须将 CentOS PHP 包升级到 5.2.10 才能启用 JSON 扩展,但过程并不顺利。当然……
我使用了这个指南:http://wiki.centos.org/HowTos/PHP_5.1_To_5.2
完成“yum update”后,“php -v”显示一堆扩展错误,因此我使用“pecl upgrade [package]”更新了这些错误。这样警告数量就减少到了一个:
PHP 警告:模块‘readline’已加载到未知的第 0 行
我尝试单独更新此包,但 yum 和 pecl 都找不到它(显然没有安装),尽管 readline.so 位于 /usr/lib/php/modules/ 中。我知道您需要使用 -readline 编译 php,这是我现在唯一的选择:从头开始完全重新编译?
我希望不是。
有人能帮忙吗?谢谢。
编辑
5.3 确实已经发布,并且与 plesk 配合良好。要运行 JSON,必须:
- 用这个 Plesk / CentOS 专用 rpm 更新 yumhttp://www.atomicrocetturtle.com
- 禁用 plesk sitebuilder 功能(与新 PHP 版本冲突)
- pecl 卸载/重新安装 json 包
- 仔细检查它是否从 etc/php.d/ 调用
- chmod 755 /usr/lib/php/modules/json.so
- 服务 httpd 重启
我知道 json 包含在 php-common 中(从 5.2 开始),但无论如何,这似乎解决了这个问题。通过 pecl 卸载后,它也能正常工作。
答案1
如果更新的 PHP 不是问题(PHP 5.3),它现在可用于 CentOS 5.6。
这些包被命名为php53而不是 php,json 模块是 php53-common 包的一部分。