Zabbix 3.0.5编译升级 php 到 php7.17

时间:2024-03-08 11:25:11
  • 系统版本:CentOS 7.1
  • 升级前php版本:php5.4
  • Zabbix server版本:3.0.5
1.线上监控采用zabbix-3.0.5,经漏洞扫描设备扫描后发现了各种基于 php和openssh,openssl的漏动,于是决定升级php

2.升级步骤
  • 先卸载之前yum安装的Php
rpm -evh `rpm -qa|grep php`
  • 由于线上zabbix连接的 postgresql,因此需先安装postgresql-devel, 图片处理需要安装libpng-devel, freetype-devel.x86_64, libjpeg-turbo-devel.x86_64等
yum -y install postgresql-devel httpd-devel libpng-devel freetype-devel.x86_64 libjpeg-turbo-devel.x86_64
  • 下载Php-7.17源码包
http://cn2.php.net/distributions/php-7.1.7.tar.gz
  • 解压后编译安装,主要是编译参数
tar xf php-7.1.7.tar.gz  
./configure  --prefix=/opt/php7 --enable-fpm  --enable-mbstring --enable-bcmath --enable-gd-native-ttf  --with-apxs2=/usr/bin/apxs --with-pgsql=/usr/src/postgresql-9.6.0/src/bin/pg_config/pg_config --enable-sockets --with-gd --with-gettext --with-jpeg-dir --with-png-dir --with-freetype-dir  
make && make install
  • 将php.ini-production复制到配置文件目录,并修改相关配制
cp php-7.1.7/php.ini-production   /opt/php7/lib/php.ini
  • 重启httpd,登录zabbix后发现,有php报错。这是因为php版本的原因,直接修改zabbix web目录下include/func.inc.php文件

sed -i \'/$last = strtolower(substr($val, -1));/a$val = substr($val,0,-1);\' func.inc.php
  • 刷新页面后即恢复正常