I have the current ISPConfig 3.3.1p1 installed on an AlmaLinux release 9.7 server. All was working well. PHP is the latest version from Remi, 8.5.4, all sites configured to use PHP-FPM. I had the need to run an old site that was not compatible with PHP 8, and I installed an additional PHP version form Remi (PHP 7.4) and I configured it in the System - Additional PHP versions section. Then I specified this version in the configuration of the "old" site, and I verified that this site is now running under PHP 7.4 as desired. Later I noticed that also phpMyAdmin and Roundcubemail are now running under PHP 7.4, and not under the default PHP version. This is a problem for Roundcubemail that currently requires PHP >= 8.1. What is the reason of this strange behaviour, and how can I fix it? Thanks.
Installing other PHP versions can change the default PHP version of the OS, this is not ISPConfig-related btw. and also not related to using that PHP version for a site in ISPConfig. See chapter 6 on how to restore the correct PHP version for your OS: https://forum.howtoforge.com/threads/please-read-before-posting.58408/
Thank you for your quick reply. The default PHP version is unchanged, php -v replies with "PHP 8.5.4 (cli) (built: Mar 10 2026 23:15:23) (NTS gcc x86_64)". Moreover, this PHP version is correctly used by all the websites on the server, apart from the one that is set to use the older PHP version. The strange thing is that only when I access a service like phpMyAdmin or Roundcubemail, that are configured by additional files in /etc/httpd/conf.d with an Alias directive (like: Alias /roundcubemail /usr/share/roundcubemail/public_html) and I simply add /roundcubemail to the URL of one of the sites that are running undeer the default PHP 8.5, I get PHP 7.4.
Have you run all the commands from Chapter 6 and then restarted the web server? If not, please run them. php -v command does not show the default PHP version of the web server; it shows you the command-line PHP version of the OS. These are separate PHP binaries and versions on Debian and Ubuntu Linux.
Tried all, but they do nothing on RHEL / AlmaLinux, because PHP is not managed by alternatives like on Ubuntu, but by "dnf module" commands. Anyway, if I put a file with phpinfo() in the ispconfig directory, I see PHP 8.5.4 that is the default, and the same on all the websites, but on the Roundcube and phpMyAdmin directories I get PHP 7.4. How is this possible?
Neither ISPConfig nor websites created by ISPConfig use or rely on the system PHP version, the configure PHP itself and do not use system default. You have to check the non-ISPConfig parts of your web server config to see where the PHP for RoundCube and PHPMyAdmin is configured and change it there.
Thank you for the hint. I found that the second PHP module installed a conflicting configuration file, that had to be disabled. Now all works as expected. I have also some minor issues with config files after upgrades, something that probably needs a small effort to be fixed. Just tell me the right way to submit you the details. Thanks.
Please feel free to make a post in the dev forum https://forum.howtoforge.com/forums/developers-forum.33/ or sign up at git.ispconfig.org, send me a pm with your username so I can activate it, and make an issue request there.
Yeah, extra PHP packages often install their own Apache/Nginx snippets in /etc/apache2/conf-enabled or similar, which can override ISPConfig behavior. Easy to miss during upgrades
Remi Collet's PHP versions override the PHP handler for unconfigured vhosts (or if mod_php is not available) to the newest additionally installed PHP version. One can check that by looking in /etc/httpd/conf.d/ where the PHP versions have their specific configurations stored. That's why, for example, phpMyAdmin on Enterprise Linux often shows the newest installed PHP instead of the default PHP version of the system. The default/base PHP version is untouched as long as the user doesn't upgrade the base PHP version to something newer. Just for clarification!