Cacti+Nagios整合中在安装NPC支持json时出错!

  近阵子,玩起了Nagios+Cacti的整合,发现按照教程来搭建时,却卡在Json这里了!

教程地址:http://bbs.linuxtone.org/thread-17617-1-1.html 

(补充:在安装Ndoutils时,里面只有#make,所以得加上安装#make install)

一、安装Json流程如下:

  1.下载源文件包:

#wget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgz 

  2.解压

#tar -zxvf  json-1.2.1.tgz

  3.进入目录准备编译与安装

#cd json-1.2.1.tgz

  4.初始化PHP环境

#phpize 

    报错了:phpize commend not found

    PHP JSON安装之前需要安装phpize,这个可以在yum中安装
    #yum -y install php-devel

    如果还不能完成PHP JSON安装,说明你的编译工具有问题,安装一下就可以了
    #yum -y install autoconf
    #yum -y install automake
    #yum -y install libtool

    运行phpize

  5.编译检查(没提示出错就正常了)

#./configure

  6.编译和安装

#make
 
#make install

  7.查看PHP JSON安装有没有成功

#find /usr/ -name '*json.so'
 
 ./usr/lib/php/modules/json.so
   (如果出现有这个,那就是正确安装好了!)

  8.修改php.ini

#vim /etc/php.d/json.ini
 
   添加内容如下:
   extension=json.so

  9.重启http服务生效和最后检查

#service httpd restart
 
#php -m |grep 'json'
 
   json

二、发现的错误!

  在最后的检查的时候,发现出现如下错误,在网上找了很多方法,都没有类似的错误,后来在一个技术群里面有同志碰到了!非常感谢!!!

  我们在检查的时候运行php -m来查看加载了那些模块.

#php -m |grep 'json'
PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/json.so' - /usr/lib/php/modules/json.so: undefined symbol: ZVAL_DELREF in Unknown on line 0

  原因是:重写了json, 所以出错

      我的解决方法:

#yum reinstall php-common 

  单独的php-common包下载地址:http://pkgs.org/centos-6-rhel-6/centos-rhel-i386/php-common-5.3.3-3.el6_2.8.i686.rpm.html  

   当然,如果比较笨的办法呢,就直接全部PHP来reinstall (重装)

#yum reinstall php-*

 非常感谢帮忙的大神!

参考地址:http://4560825.blog.51cto.com/4550825/849344 

原文地址:https://www.cnblogs.com/sbaicl/p/2780326.html