15->16 web upgrade went awry

I posted a prior thread about how my development VM had an issue with the 15->16 upgrade (asterisk repeatedly crashed on startup after upgrade due to a missing /etc/asterisk/extconfig_custom.conf).

I tried the web version of the version upgrade module out on a production machine today and it went considerably worse with a completely different problem cropping up. It is a standard Distro machine running the latest FreePBX 15. Unfortunately the failed upgrade log got overwritten from my subsequent successful attempt so I don’t have the detailed log to share. Somehow though, the upgrade process simply stopped running after php 5.6 was uninstalled, after the repository for php 7.4 was added, but before any php 7.4 packages were actually installed (A line like “Restarting httpd…” was sitting there as the last line of the upgrade log file for many minutes with the system completely idle - yum wasn’t doing anything).

I ended up restarting the system because I just couldn’t figure out what was frozen and where. Basically my system was left in a limbo state without php whatsoever, a pile of strange-looking conflicts showing up in yum between php 5.6 and 7.4 packages and of course with no php present on the system at all, freepbx tools won’t do anything and the pbx is dead in the water. I had to use “yum history” to back out the php 7.4 repository change (the only change the installer had made so far with yum) and then manually use yum to reinstall the php 5.6w packages by looking at a legacy VM I had access to to figure out what php 5.6 packages FreePBX 15 needed. Even after doing that and restarting the httpd service, the web server was still not executing php files (so no FreePBX GUI). Thankfully the fwconsole commands were working again though, and the versionupgrade module worked off the console without a hitch from beginning to end and everything came back working (web interface and all) under FreePBX 16 when it was done. So, my advice would be to use the fwconsole command on the console for the upgrade module as described here: https://wiki.freepbx.org/display/FOP/FreePBX+16+Version+Upgrade+Module#FreePBX16VersionUpgradeModule-CLI-HowtouseFreePBXupgradertool and NOT the web version of the upgrader.

I have negotiated the PHP 5.6->7.x upgrade on some Ubuntu LTS boxes before (using the console…). This was considerably more painful.