Upgrading Joomla to PHP 7.3
PHP 7.3 was released in December of 2018 at about the same time that PHP 7.1 moved to support for security fixes only; PHP 7.2 is the primary release, but 7.3 offers some incremental improvements. PHP 7 was claimed to be about a 2X performance improvement over PHP 5.6, and each release of the 7 series claims performance of 5-20% better than the previous release. CPanel announced that EasyApache 4 added PHP 7.3 in December, so I decided that three months was enough time for many of the problems to be worked out and took the plunge on moving to 7.3; it went fairly easily.
If you are still on PHP 5.6, or on a Joomla release prior to 3.9, you should probably look at Upgrading to Joomla 3.8, 3.9, 3.10 and 4.0 before reading this article.
As always, make sure that you have backups before beginning any system level work.
Upgrade Joomla Extensions, and Joomla
As always for a PHP upgrade, make sure that both Joomla and all extensions are current and that you are on the current release of Joomla.
Add PHP 7.3 in CPanel
If you have a VPS, you will need to log in to Web Hosting Manager and add PHP 7.3 in EasyApache. It will prompt you to include the PHP packages that are used in the other versions of PHP; say “yes” unless you know that you no longer need some of the packages.
If you do not have a VPS, PHP 7.3 may be available in the Multi-PHP settings within CPanel. If not, call your web hosting technical support to make sure that it is added. This will probably take a day or two, and may be much longer.
In WHM, Update PHP Configuration
You will need to update the PHP configuration so that it matches the settings for your working PHP 7.1 or 7.2:
- Make sure that the maximum file upload and post size are increased, otherwise you will not be able to upload many Joomla extensions.
- Depending upon your site and the defaults, you may need to increase the default memory. Some sites of mine that were fine on 32M in PHP 7.2 required an increase in PHP 7.3.
- Update the php.ini setting for
disable_functionsto disable at least
"show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open, ini_set". The CPanel security audit will complain if you do not.
Turn on Error Messages in Joomla
If everything goes perfectly, you will not need error messages, but it will be easier if you turn this on before switching over the first time. If you do not turn it on now, you will have to log in to Joomla each time you switch PHP versions (assuming you are using PHP sessions for performance).
In WHM, Switch to PHP 7.3
Once you have done all the prep work, switch to PHP 7.3 and test everything on your site. If you have extensions for managing photo galleries, make sure to test these; some of them are dependent upon PHP modules that are not installed by default.
Turn off Error Messages in Joomla
Once you are done, make sure to turn error messages off in Joomla. You will probably still get a number of warning messages, but no fatal messages.
If you are current on Joomla maintenance and have already switched to PHP 7.1 or 7.2, moving to 7.3 should be a relatively painless. The most likely problem area will be forgetting to change a memory settings.