警告:如果您安装了 RPM 系统(离线或非离线),请勿使用本文中的步骤。
本文档介绍了如何在 RHEL、CentOS 和 Oracle Linux 系统上升级到 PHP 7。 Nagios XI 与以下版本的 PHP 兼容。
5.3, 5.4, 5.5, 5.6 | 7.0, 7.1, 7.2 (XI 5.5+) | 7.3 (XI 5.6.8+) | 7.4 (XI 5.7.0+)
为了执行安装和升级,Nagios XI 使用操作系统供应商(例如 RHEL、CentOS 和 Oracle Linux)提供的 PHP 版本。 为了安全和稳定性,我们推荐并支持操作系统供应商提供的 PHP 版本。
为了减轻安全漏洞并避免向后兼容性问题,操作系统供应商有一个称为向后移植的过程。 以下是它的工作原理:RHEL 使用这些软件包的较新版本中的安全修复程序修补这些软件包的受支持版本。 例如,他们将从 PHP 7.2 中获取代码并将安全漏洞修复应用到其存储库提供的 PHP 版本,例如 5.4.x。
注意:PHP Mailer 需要 PHP 5.6 或更高版本才能使用 TLS 1.2 连接。
升级到 PHP 7
如果您的公司环境需要升级到 PHP 7.x,请按照以下命令进行操作。 创建这些步骤是为了最大限度地减少由于 PHP 包不兼容而导致的升级或系统故障。
必须使用 Nagios XI 5.5 或更高版本才能升级到 PHP 7。
所有
yum -y install epel-release wget
yum remove nagiosxi-deps* -y
RHEL 7 | CentOS 7 | Oracle Linux 7
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
所有
yum -y install yum-utils
PHPTZ=$(grep -s '^date.timezone' /etc/php.ini | awk '{print $3}')
yum -y remove php-*
yum-config-manager --enable remi-php74
yum -y install php php-imap php-opcache php-devel php-gd php-ldap php-mbstring php-pdo php-pdo-dblib php-mysqlnd php-pgsql php-pear php-pecl-ssh2 php-pgsql php-process php-snmp php-xml php-odbc
sed -i "s:;date.timezone =.*:date.timezone = ${PHPTZ}:" /etc/php.ini
cd /tmp
rm -rf /tmp/nagiosxi
wget https://assets.nagios.com/downloads/nagiosxi/xi-latest.tar.gz
tar zxf xi-latest.tar.gz
cd /tmp/nagiosxi
rm -rf /etc/php.d/sourceguardian.ini
./init.sh
sed -i '/^PHP script/d' xi-sys.cfg
sed -i '/^1)/d' xi-sys.cfg
sed -i '/^2)/d' xi-sys.cfg
sed -i '/^3)/d' xi-sys.cfg
./install-sourceguardian-extension.sh
RHEL 7 | CentOS 7 | Oracle Linux 7
systemctl restart httpd
完成后,您应该登录 Nagios XI 并测试一切是否正常。 还建议重新启动系统。