PHP 5.3.8、JSON和;CentOS 6
我们正在运行CentOS 6和PHP5.3.8(作为一个apache模块),它的核心应该包含JSON(我听说)。查看命令行上的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
#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现在又开始工作了。希望这对其他人有帮助
谢谢
装载-v-o重新装载,exec/tmp
装载-v-o重新装载,exec/var/tmp
pecl安装JSON
从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