我在搭建监控系统时候出现JSON模块安装失败,PHP5.3 系统Centos6.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不支持该符号,需要手动添加符号,然后在编译安装,前面的#号不要去掉,直接添加到文件前面就好.
# 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浏览页,在其中添加以下内容
phpinfo();
?>
浏览器登录http://127.0.0.1/index.php 出现以下内容也证明安装加载成功