2010-07-02 134 views
0

好吧我正在运行CentOS,PHP 5.2。我最近添加了JSON扩展。当安装JSON运行后PHP JSON。令人困惑的问题

php -i 

...,它说

json 

json support => enabled 
json version => 1.2.1 

但是当我运行的phpinfo它没有显示的JSON扩展为被启用。我已经将扩展名添加到php.ini文件中,以便加载json.so文件。

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

btw。我正在运行PHP作为一个Apache模块。

回答

3

也许你的PHP cli使用不同的php.ini文件,一个加载json扩展,而Apache模块不是。 php -iphpinfo()给出有关加载的php.ini文件的信息。

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

1

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

只要php不是用--disable-json编译的。

+0

你会在发行频率从核心删除扩展惊讶。此外,即使它在核心,它应该显示在'phpinfo'中。它也可以用'--enable-json = shared'编译。 – Artefacto 2010-07-02 02:04:54

1

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

更新后它工作。