红联Linux门户
Linux帮助

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

发布时间:2015-03-27 21:56:20来源:linux网站作者:beijing0414

我在搭建监控系统时候出现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();
?>

浏览器登录http://127.0.0.1/index.php  出现以下内容也证明安装加载成功
CentOS 6.3下PHP编译安装JSON模块报错解决

注:以上图片上传到红联Linux系统教程频道中。