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