Yes, there is a backported PHP 7.4 RPM for FreePBX 16 in the works, and it has gone through some QA but not nearly as full as usual, and if you’d like to help then please test on a v16 machine that you don’t mind potentially scrapping (mostly because the binary package overlap is a one-way trip right now when it comes to dependencies, and, it could break other things):
yum install sangoma-devel16
yum upgrade
reboot
EDIT: The fix landed in production less than a week after the above message, so there is no longer a need to install the devel/test repos. A yum update should be sufficient (then process restarts and/or reboot.) Also users of FreePBX versions <= v16 are strongly encouraged to update to v17 ASAP!
Yes, we’ve verified the new PHP version is present and checked WebUI for any issues. No apparent issues detected since update. They may have done other checks but they’ve finished for the day so I can’t ask.
…on an already-upgraded system, you should see this last bit of output:
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
Package php-7.4.33-31.el7.sng.x86_64 already installed and latest version
Package oniguruma5php-6.9.9-1.el7.remi.x86_64 already installed and latest version
Package fail2ban-fpbx-0.8.14-80.sng7.noarch already installed and latest version
Package libwebp7-1.0.3-2.el7.remi.x86_64 already installed and latest version
Nothing to do
(Then either an Apache restart, at minimum, or just a reboot for good measure.)
Apologies, I missed the detail in the previous posts that gave the proper repo information. I have followed the step-by-step approach outlined in your post, and can confirm I’m now on the more recent PHP 7.4.33. I had to reboot (as was recommended) to regain use of my web UI but other than that, I have experienced no issues thus far.
php -v displaying the updated version isn’t the only test I’d run. Check for already running process that were running the older PHP version prior to your upgrade. Something like:
sudo ls -l /proc/[0-9]*/exe 2>/dev/null | grep -i ‘php.*(deleted)’
should display those process IDs. You want to make sure those processes are restarted so they use the updated php.
Learned the hard way on some FusionPBX boxes I am supporting.