Zabbix正运行环境升级php版本遇到zabbix web界面出现不支持mysql
cat /etc/redhat-release
CentOS release 6.5 (Final)
uname -r
2.6.32-431.el6.x86_64
目前zabbix正运行环境源码安装所使用的版本如下:
/usr/local/zabbix/sbin/zabbix_server -V
zabbix_server (Zabbix) 3.0.1
/usr/local/php/bin/php -v
PHP 5.6.30 (cli) (built: Apr 6 2021 18:37:53)
/usr/local/apache/bin/apachectl -v
Server version: Apache/2.4.41 (Unix)
Server built: Mar 11 2020 11:47:18
使用绿盟RSAS(安全评估系统) 扫描出一些列php安全漏洞等等如下:



经过分析查看后决定升级php当前版本,选择一个php版本没有在发布漏洞版本以外,最终选择了php5.6.40
下面是更新php版本步骤如下:
1.去php官网下载选定的php版本 https://www.php.net/distributions/php-5.6.40.tar.gz
2.备份当前正在运行的php版本 tar -zcvf php5.6.30.tar.gz /usr/local/php
3.解压下载php版本编译安装
tar -zxvf php-5.6.40.tar.gz
在编译安装升级php前,需查看之前php编译的参数
/usr/local/php/bin/php -i |grep configure
Configure Command => './configure' '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-mysql=shared,mysqlnd' '--with-iconv-dir' '--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-fpm' '--enable-mbstring' '--with-mcrypt' '--enable-ftp' '--with-gd' '--enable-gd-native-ttf' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets=shared' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--without-pear' '--with-gettext' '--with-libdir=lib64' '--with-snmp' '--with-apxs2=/usr/local/apache/bin/apxs'
编译php5.6.40
./configure --prefix=/usr/local/php5.6.40 --with-config-file-path=/usr/local/php5.6.40/etc --with-mysql=shared,mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets=shared --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-libdir=lib64 --with-snmp --with-apxs2=/usr/local/apache/bin/apxs
安装
make
make install
修改原来php安装路径:mv /usr/local/php /usr/local/php_old
把新php安装路径做软连接链接到原有php路径下: ln -s /usr/local/php5.6.40/ /usr/local/php
重启zabbix-server和httpd服务后,访问zabbix web界面傻眼了(看下图),此刻tm的心里慌的一批

遇到不能访问了,先优先解决不能访问,实在不行回退到原来
先噼里啪他的百度一番,百度基本答案都一样,按照百度说的需按照yum install php-mysql这个 ,首先查看系统当前有没有这个安装包,查看rpm -qa php-mysql没有,就yum -y install php-mysql 安装之后重启zabbix-server httpd服务还是一摸一样,根本就没解决。接下来噼里啪啦查看当前安装的php与之前的php有什么差别,apache配置zabbix连接php之类的,没有任何发现。
那接下来只能乖乖的回退了,把软连接删掉,然后把php5.4.40安装目录也删除,把原有php版本更换的目录改回来。重启zabbix-server https服务,再次访问zabbixweb页面和更换浏览器访问已经换其他电脑访问,也还是一样.这时心里更凉凉了,心里更慌的一批。都回退到原来的版本了,这tm zabbixweb界面还是不能访问。tm的最后一试,重启服务器后看看情况,重启完服务器在重启zabbix-server httpd服务还tm的不能访问啊...................................
此时,心里已经没有底了,不知所措,先出去撒一泡尿,回来喝一口水,想想接下来该怎么处理
最终,想到把原先的php5.6.30编译安装下,php官网重新下载php5.6.30解压编译安装
这是原先php编译参数,通过/usr/local/php/bin/php -i |grep configure查看到
Configure Command => ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=shared,mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets=shared --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-libdir=lib64 --with-snmp --with-apxs2=/usr/local/apache/bin/apxs
安装php5.6.30后重启zabbix-server httpd,突然一下zabbixweb界面进去了,此刻心里放心啦。。。。哈哈哈 太tm的坑了(当时的环境还比较复杂,有两套php版本,通过/usr/local/php/bin/php -v 查看到build时间那个离现在比较近,就认为那个是当前正在使用的版本.......)

浙公网安备 33010602011771号