Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP 5.3.8、JSON和;CentOS 6_Php_Json_Apache_Centos_Centos6 - Fatal编程技术网

PHP 5.3.8、JSON和;CentOS 6

PHP 5.3.8、JSON和;CentOS 6,php,json,apache,centos,centos6,Php,Json,Apache,Centos,Centos6,我们正在运行CentOS 6和PHP5.3.8(作为一个apache模块),它的核心应该包含JSON(我听说)。查看命令行上的#php-i,我可以在Configure命令'--enable json=shared'下看到。。。太好了 但是,查看网页上的php_info()Configure命令会显示“--disable json” 没问题,我想,我将使用pecl安装它: # yum update php # yum install php-pear # yum install gcc # pec

我们正在运行CentOS 6和PHP5.3.8(作为一个apache模块),它的核心应该包含JSON(我听说)。查看命令行上的
#php-i
,我可以在Configure命令
'--enable json=shared'
下看到。。。太好了

但是,查看网页上的php_info()Configure命令会显示
“--disable json”

没问题,我想,我将使用pecl安装它:

# yum update php
# yum install php-pear
# yum install gcc
# pecl install json
# service httpd restart
我想,成功是不可能的。但是php-m显示:

PHP警告:PHP启动:无法加载动态库'/usr/lib64/PHP/modules/json.so'-/usr/lib64/PHP/modules/json.so:第0行中未知的未定义符号:ZVAL_DELREF

如果这是一个愚蠢的问题,我深表歉意,但是有人知道这里发生了什么吗?你能为我指出正确的方向,如何解决这个问题,让JSON开始工作吗


非常感谢

我想我会跟进解决方案。PECL安装似乎与PHP 5.3.8冲突,因此经过一点研究和一些建议后,我想出了以下想法:

# yum remove php
# yum install php
然而,在得到进一步的建议后,他们选择了:

# yumdownloader php-common
# rpm -Uvh --force php-common*.rpm
# service httpd reload
# rm php-common*.rpm
这就成功了,JSON现在又开始工作了。希望这对其他人有帮助

谢谢

  • 登录到SSH
  • 使tmp和var/tmp执行

    装载-v-o重新装载,exec/tmp
    装载-v-o重新装载,exec/var/tmp

  • 无需继续安装JSON

    pecl安装JSON

  • 最后,再次使tmp和var/tmp noexec重新装载,noexec/tmp重新装载,noexec/tmp重新装载,noexec/var/tmp重新装载


  • 从PECL下载json-1.2.1.tgz

    enter code heretar zxvf json-1.2.1.tgz
    cd json-1.2.1
    vi JSON_parser.c
    
    查找
    ZVAL_DELREF
    替换为
    Z_DELREF_p
    (你可以在3个地方找到) 并保存文件

    然后

    你可以得到你的json.so
    别忘了添加到php.ini

    您是否考虑过使用JSON重新编译php?显式禁用它没有多大意义,因为它是一个核心模块?两者似乎都运行相同版本的PHP,尽管其中一个是--enable json=shared,另一个是--disable json。不知道那是什么意思。我以前没有重新编译过PHP,我不想破坏任何东西(这是一个实时服务器)。如果我只想删除'--disable json'标志,那么重新编译是否容易?这确实有效。耶。但是我需要#pecl安装json,然后在php.d/json.inite中取消对扩展的注释。这里还有
    function\u条目
    ,您必须在文件
    json.c
    中更改为
    zend\u function\u条目
    。什么?考虑到问题的背景,这个答案没有什么意义。同意Axes,这没有什么意义。为什么需要安装?正在安装什么?
    phpize
    ./configure
    make
    make install