json似乎启用,但无法运行json_encode
我的PHP版本是5.1.6,请按照以下说明安装Json:
# yum install php-devel# yum install php-pear
# yum install gcc
# pear install json
# cd /etc/php.d
# echo "extension=json.so" > json.ini
# service httpd restart
现在,我检查是否启用了Json,但无法运行json_encode:
检查1:
[root@69-64-69-43 ~]# php -i | grep json
结果1:
/etc/php.d/json.ini,json
json support => enabled
json version => 1.2.1
检查2:
[root@69-64-69-43 ~]# php -r 'var_dump(function_exists("json_encode"));'
结果2:
bool(true)
但是运行时:
Fatal error: Call to undefined function json_encode() in /var/www/vhosts/ykite.com/httpdocs/fre/json.php on line 8
这是运行链接:
检查Json:http :
//69.64.69.43/fre/json.php
php_info():http://69.64.69.43/fre/info.php
我当时确实在看并阅读了许多文档,但找不到这种情况的起因。
衷心感谢您的帮助。
ong
回答:
如果var_dump( function_exists( 'json_encode' )
)返回true,则在HTTP请求中说该功能不存在。我只想到一种解释:CLI和HTTP请求使用不同的php.ini。在您的phpinfo(
)文档中,它说它正在加载json.ini,但是我在那里看不到任何其他对JSON的引用。
检查您的日志,以查看是否在HTTP请求中实际加载了json.so。我敢打赌,事实并非如此。
以上是 json似乎启用,但无法运行json_encode 的全部内容, 来源链接: utcz.com/qa/402190.html