CentOS 6.3 下 PHP编译安装JSON模块报错解决

我在搭建监控系统时候出现JSON模块安装失败,PHP5.3  系统CentOS 6.3,安装json报错 ZVAL_DELREF 符号未知错误...
# Warning: PHP Startup: Unable to load dynamic library '/home/json/json-1.2.1/modules/json.so' - /home/json/json-1.2.1/modules/json.so: undefined symbol: ZVAL_DELREF in Unknown on line 0

经过查看是因为php版本造成,以下为解决方案:

# tar xf json-1.2.1.tgz
# cd json-1.2.1
# pwd
/root/桌面/json-1.2.1
# vim JSON_parser.c
#define ZVAL_DELREF Z_DELREF_P  //rpm安装PHP5.3不支持该符号,需要手动添加符号,然后在编译安装,前面的#号不要去掉,直接添加到文件前面就好.

CentOS 6.3 下 PHP编译安装JSON模块报错解决

# phpize  //如果没有phpize命令,那么用yum去安装php-devel包
# ./configure
# make && make install
# find / -name *json.so    //查看是否有json模块
/usr/lib64/php/modules/json.so
# vim /etc/php.ini    //添加以下行
extension=json.so
# vim /etc/php.d/json.ini    //创建json.ini文件,添加以下两行
; Enable snmp extension module
extension=json.so


测试php是否加载json模块:
1)使用php -m命令查看是否php已经加载json模块
# php -m 
json      //查看打印出来的模块

2)使用php测试页查看验证


# vim/var/www/html/index.php      //创建php浏览页,在其中添加以下内容

<?php
phpinfo();
?>

浏览器登录  出现以下内容也证明安装加载成功

CentOS 6.3 下 PHP编译安装JSON模块报错解决

--------------------------------------分割线 --------------------------------------

Struts中异步传送XML和JSON类型的数据

Linux下JSON库的编译及代码测试

jQuery 获取JSON数据[$.getJSON方法]

用jQuery以及JSON包将表单数据转为JSON字符串

在C语言中解析JSON配置文件

--------------------------------------分割线 --------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/05cbf83afcd3bed5d41060edf715b88a.html