Skip to content

How to update PHP for rConfig V8 Core

After reading this page, I can update PHP to 8.4 on my rConfig V8 Core server using the supplied update script, confirm the new version is active, and roll back safely if something goes wrong.

Run this update when your rConfig V8 Core server is on PHP 8.3 or earlier and you want to move to PHP 8.4. PHP 8.3 reached end of active support on 31 Dec 2025, so older versions stop receiving security patches. PHP 8.4 receives active security support until 31 Dec 2028 and brings performance gains for backups, searches, and UI responsiveness.

  • Root or sudo access to your rConfig server
  • A current backup of your rConfig installation and database
  • A maintenance window of at least 15 minutes (rConfig is briefly unavailable during the update)
  • A stable internet connection to download packages

The update scripts back up your current PHP configuration, add the trusted PHP 8.4 repository, remove old PHP packages, install PHP 8.4 with all required extensions, configure PHP-FPM, and restart your web server and PHP-FPM.

Pick the tab for your operating system and run the commands as root or with sudo.

Terminal window
cd /home
yum -y install wget
wget https://dl.rconfig.com/downloads/php-updates/centos-php8-update.sh -O /home/centos-php8-update.sh
chmod +x centos-php8-update.sh
./centos-php8-update.sh

The script installs PHP 8.4 with every extension rConfig needs:

  • php8.4-cli
  • php8.4-fpm
  • php8.4-mysql
  • php8.4-mbstring
  • php8.4-xml
  • php8.4-curl
  • php8.4-zip
  • php8.4-gd
  • php8.4-intl
  • php8.4-bcmath
  • php8.4-soap
  • php8.4-ssh2

Confirm the active PHP version on the command line:

Terminal window
php -v

You should see output similar to:

PHP 8.4.x (cli) (built: ...)

Then confirm rConfig itself is healthy:

  1. Log in to your rConfig web interface.
  2. Navigate to Admin > System Settings.
  3. Check the system information panel and confirm the PHP version reads 8.4.x.
  4. Run a device backup and a configuration search to confirm core functions work.

The automated scripts assume a standard package manager install. If you compiled PHP from source or run rConfig in a container, follow the relevant notes below.

If you built PHP from source, back up your configuration and check your install paths before upgrading:

Terminal window
cp /usr/local/lib/php.ini /usr/local/lib/php.ini.backup
which php
php-config --prefix

Then update manually: download the PHP 8.4 source from php.net, compile with the same configure options you used before, ensure every rConfig-required extension is compiled in, and point your web server at the new PHP version.

If rConfig runs in Docker, update the base image in your Dockerfile and rebuild:

FROM php:8.4-fpm
Terminal window
docker-compose down
docker-compose build --no-cache
docker-compose up -d

Why isn’t rConfig working after the update?

Section titled “Why isn’t rConfig working after the update?”

If wget cannot reach the download server, try curl and check your firewall or proxy:

Terminal window
curl -o /home/php8-update.sh https://dl.rconfig.com/downloads/php-updates/centos-php8-update.sh
curl -v https://dl.rconfig.com

A blank page usually means a PHP extension is missing. Check the logs and the loaded extension list:

Terminal window
tail -f /var/log/php-fpm/error.log
tail -f /var/log/apache2/error.log # Ubuntu/Debian
tail -f /var/log/httpd/error_log # CentOS/RHEL
php -m

If PHP-FPM or the web server will not start, check status and test the configuration files:

Terminal window
systemctl status php8.4-fpm
systemctl status apache2 # or nginx
php-fpm8.4 -t
apachectl configtest

If you hit permission errors, reset ownership for your platform and check the PHP-FPM socket:

Terminal window
chown -R www-data:www-data /var/www/rconfig # Ubuntu/Debian
chown -R apache:apache /var/www/rconfig # CentOS/RHEL
ls -la /var/run/php/

If you need to revert, stop the services, remove PHP 8.4, reinstall your previous version, restore your configuration backup, and restart.

  1. Stop the services:

    Terminal window
    systemctl stop php8.4-fpm
    systemctl stop apache2 # or nginx
  2. Remove PHP 8.4:

    Terminal window
    sudo apt-get remove --purge php8.4* # Ubuntu/Debian
    yum remove php84* # CentOS/RHEL
  3. Reinstall your previous version (example for PHP 8.1):

    Terminal window
    sudo apt-get install php8.1 php8.1-fpm php8.1-mysql php8.1-mbstring php8.1-xml # Ubuntu/Debian
    yum install php81 php81-php-fpm php81-php-mysqlnd php81-php-mbstring php81-php-xml # CentOS/RHEL
  4. Restore your configuration from backup, then restart the services.