PHP JSON。令人困惑的问题

时间:2010-07-02 01:56:40

标签: php linux centos

好的我用PHP 5.2运行CentOS。我最近添加了JSON扩展。运行时

php -i

..安装JSON后,它说

json

json support => enabled
json version => 1.2.1

但是当我运行phpinfo时,它没有显示启用JSON扩展名。我已经将扩展添加到php.ini文件中,因此它加载了json.so文件。

我对此很困惑。可能的原因是什么?

顺便说一句。我正在运行php作为apache模块。

4 个答案:

答案 0 :(得分:3)

可能你的PHP cli使用的是另一个php.ini文件,一个加载json扩展名,而Apache模块不是。 php -iphpinfo()提供有关已加载的php.ini文件的信息。

对于PHP cli,可以通过PHPRC环境变量或php -c <file|dir>指定php.ini位置。对于Apache模块,您可以使用Apache指令PHPINIDir

答案 1 :(得分:1)

从PHP 5.2开始,JSON扩展包含在核心中,您不需要包含任何扩展。如果它启用JSON支持,它应该工作。你真的尝试过吗?

只要php没有用--disable-json编译。

答案 2 :(得分:1)

解决了它们。我添加了一个更新的存储库,然后运行     yum更新php 我犯了错误的假设,当我使用5.2时,它实际上是5.1

更新后,它有效。

答案 3 :(得分:-1)

另外:

解决方案是:

cd /usr/lib/php/modules (or your modules directory where the json.so file is)

strip json.so

apachectl restart

来源:http://fanaticalwebworker.blogspot.com/2010/10/json-with-apache-centos-44-and-php-516.html