Overview
Warning: Do not use the steps in this article if you have an RPM installed system (either offline or non-offline).
This document describes how to upgrade to PHP 7 on RHEL, CentOS and Oracle Linux systems. Nagios XI is compatible with the following versions of 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+)
For performing installations and upgrades, Nagios XI uses the version of PHP provided by the operating system vendor such as RHEL, CentOS and Oracle Linux. For security and stability, we recommend and support the version of PHP provided by operating system vendor.
To mitigate security vulnerabilities and avoid backward compatibility issues, operating system vendors have a process known as backporting. Here's how it works: RHEL patches the supported versions of these packages with the security fixes from the newer versions of these packages. For example, they will take the code from PHP 7.2 and apply the security vulnerability fix to the version of PHP provided by their repositories such as 5.4.x.
NOTE: PHP Mailer requires PHP 5.6 or higher to use a TLS 1.2 connection.
Upgrading to PHP 7
If your company environment requires upgrading to PHP 7.x, please follow the commands below. These steps have been created to minimize upgrade or system failures due to PHP package incompatibilities.
Must be using Nagios XI 5.5 or higher to upgrade to PHP 7.
All
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
All
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
Once completed you should login to Nagios XI and test everything is working OK. A system reboot is also recommended.
Final Thoughts
For any support related questions please visit the Nagios Support Forums at: