服务cacti,独立编译php模块,避开重新编译php

简介:

昨天在学习了cacti的安装与配置,但是cacti在调用rrdtool的绘图功能时,需要编译php时加上 --with-snmp=DIR  这一选项,由于笔者之前搭建的LNMP时在编译php时并没有加上这一选项,所以很遗憾的是不能显示将监控信息以图像的方式明晰的呈现出来由于需要将监控信息以图像方式显示出来,php必须编译时使用 --with-snmp=DIR  这一选项,而如果没有添加该选项,是不是就要重新编译php呢,答案:不是。

以下就是笔者解决这一问题的过程,希望能帮到同样遇到这样问题的朋友们。

之前工作:安装net-snmp,net-snmp-devel,rrdtool,rrdtool-perl
启动snmpd
编辑/etc/snmp/snmpd.conf
解压cacti-0.8.8
创建系统cacti用户
编辑cacti目录中include/config.php文件。
创建数据库,创建数据库用户

一切准备就绪,打开网页访问,显示错误如下:

Error
The following PHP extensions are missing:
    * sockets
Please install those PHP extensions and retry


到网上一搜索,原因是在编译php时没有配置socket支持
解决方法一:重新编译php
解决方法二:单独编译socket模块,之后手动为php添加此模块。


1.下载到与当前php版本相符的php源码包,将其解压,这里笔者使用的是 php-5.3.10进入php源码文件下的ext/目录,你会发现里面有很多同名的一些目录,找到sockets目录


2.进入sockets目录
#cd sockets
3.生成configure文件
#/usr/local/phpnginx/bin/phpize
4.编译安装sockets模块
#./configure --enable-sockets --with-php-config=/usr/local/phpnginx/bin/php-config
#make

最后输出以下信息:


#make install


将这个路径复制下来 /usr/local/phpnginx/lib/php/extensions/no-debug-non-zts-20090626/
5.手动添加模块
#vim /etc/phpnginx/php.ini
搜索extension,添加扩展模块引用,添加
extension=/usr/local/phpnginx/lib/php/extensions/no-debug-non-zts-20090626/sockets.so
6.检查php.ini配置文件是否正确合法
#php -v
7.重新启动php-fpm
#service php-fpm restart

访问网页,一切正常。


由此可以想到,snmp是否也可以基于扩展模块引用的方式来满足cacti的要求呢?

1.进入snmp目录

#cd snmp/
2.生成configure文件
#/usr/local/phpnginx/bin/phpize
3.编译安装snmp模块
#./configure --with-snmp=/usr --with-php-config=/usr/local/phpnginx/bin/php-config
报错:
checking for init_snmp in -lsnmp... no
configure: error: SNMP sanity check failed. Please check config.log for more information.

解决方法:#yum install elfutils-devel -y

重新configure
#./configure --with-snmp=/usr --with-php-config=/usr/local/phpnginx/bin/php-config
报错:
configure: error: snmp.h not found. Check your SNMP installation.
解决方法:#yum install net-snmp-devel -y

安装完成后在进行configure
#./configure --with-snmp=/usr --with-php-config=/usr/local/phpnginx/bin/php-config
出现以下内容:


#make
#make install

出现以下内容:


将该路径复制下来
4.手动添加模块
#vim /etc/phpnginx/php.ini
搜索extension,添加扩展模块引用,添加
extension=/usr/local/phpnginx/lib/php/extensions/no-debug-non-zts-20090626/snmp.so
5.检查php.ini配置文件是否正确合法

#php -v
6.重新启动php-fpm
#service php-fpm restart
7.定义crontab
让poller.php脚本每隔五分钟,对系统进行一次性能参数及其值的获取。
#vim /etc/crontab
添加以下内容:
*/5 * * * * root /usr/local/phpnginx/bin/php /usr/html/cacti/poller.php &> /dev/null

8.访问cacti

 

 

 



 


全部正常!


由此可以看出只要在php源码文件的ext/目录中存在的目录,其对应的功能都可单独编译,然后在手动进行模块引用,这就避免了在由于第一次的编译安装时漏掉了某些功能,而导致重新编译php的麻烦了。
其大致步骤就是:
1.进入需要单独编译的功能目录中
2.生成configure文件
3.进行编译检查configure
4.make && make install
5.修改php.ini文件添加引用模块的绝对存放路径
6.重新启动php-fpm



                                            【完】








本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/840028,如需转载请自行联系原作者
目录
相关文章
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
334 0
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
358 28
|
Ubuntu PHP
Ubuntu下使用apt为Apache2编译PHP7.1
以上就是在Ubuntu系统下,使用apt为Apache2编译PHP7.1的过程。希望这个过程对你有所帮助,如果你在执行过程中遇到任何问题,都可以在网上找到相关的解决方案。
322 25
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
532 18
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
395 10
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
JavaScript Java 测试技术
基于微信小程序的家政服务预约系统的+php+vue.js附带文章和源代码设计说明文档ppt
基于微信小程序的家政服务预约系统的+php+vue.js附带文章和源代码设计说明文档ppt
376 3
基于微信小程序的家政服务预约系统的+php+vue.js附带文章和源代码设计说明文档ppt
|
IDE PHP 开发工具
PHP 安装配置Xdebug模块详解
【7月更文挑战第22天】
369 3
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
278 0