好的我用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模块。
答案 0 :(得分:3)
可能你的PHP cli使用的是另一个php.ini文件,一个加载json扩展名,而Apache模块不是。 php -i
和phpinfo()
提供有关已加载的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