/ Blog / Announcements / Dropping Support for PHP 5.2

Dropping Support for PHP 5.2

Apr 17, 2018 | 2 Comments

It all started with a tweet from Danny van Kooten (below). Then came this article from Iain Poulson where he elaborated a bit more on (not) supporting legacy PHP versions. And like many other plugin developers, we have been longing to implement modern language features in our plugins.

https://twitter.com/dvkoot/status/968431227974897664

Until now we always kept Admin Columns on par with the minimum WordPress requirements to make our plugin as widely available as possible. We felt this was in line with the WordPress philosophy. But when we found out that the percentage of users with PHP 5.2 (who also keep WordPress up to date) was well below 1% we came to realize something: We have to start closing the gap between modern PHP versions and the minimum WordPress requirements. It maintains a technical debt with WordPress and the people who develop with it. And it will only grow if every new version of PHP not being met by an upgrade of the WordPress minimum requirements. Even if our share in this will be very small, every step forward helps.

PHP 5.3 as Minimum Version for Admin Columns

Our first step in this will be bumping the minimum version of PHP required to run Admin Columns. Therefore, the next version of Admin Columns (Pro) will have PHP 5.3 as its minimum required version. We are happy to announce to start implementing namespaces, closures, and late static binding right away. We’ll also be keeping a close look at the statistics of WordPress installations to find out when it’s a good time to upgrade even further, which comes with some nice syntactic sugar as well.

By using the minimum required PHP feature from the WordPress plugin directory, we can notify our users in advance of this new requirement. Also, when you try to activate Admin Columns on a server that runs < PHP 5.3, it will display a notice telling you about this problem. By doing so we will not only notify people they should probably upgrade but also prevent any errors in the WordPress admin from calling undefined functionality.

Upgrading to PHP 7.2

If you are running a legacy version of PHP you should probably upgrade to version 7.2 (the latest stable version at the time of writing). It’s a lot faster than PHP 5.2 while also being more secure. Like WordPress, PHP is largely backward compatible. Therefore you probably won’t experience any negative effects from upgrading. However, there are a few things that did change, and if you want to be sure your WordPress installation is compatible here are a few things you can try:

  • Run your website locally using something like Local
  • Use this plugin to spot potential issues
  • Ask your hosting company if you can test your website in a staging/testing environment that supports PHP 7.2
  • Ask your hosting company if you can switch back to your current PHP version in case you encounter some issues

If you are still looking for hosting or want to know if your current hosting company supports PHP 7.2 you can use the example letter listed on the WordPress requirements page as a starting point:

I’m interested in running the open-source WordPress <https://wordpress.org/> web software and I was wondering if my account supported the following:

  • PHP 7.2 or greater
  • MySQL 5.6 or greater OR MariaDB 10.0 or greater
  • Nginx or Apache with mod_rewrite module
  • HTTPS support

Thanks!

And lastly, if you are unsure which version of PHP you are running at the moment, easily check this with the Display PHP Version plugin from the WordPress repository.

Wrapping Up

Looking at all the attention this discussion is getting lately, we might see some good things coming from the WordPress community to support modern PHP versions more actively. And once the popular plugins will drop the support for legacy versions (e.g. WooCommerce, Yoast, ACF) we could very well see a lot of hosting companies make the required upgrades and we can all live happily ever after.


View changelog for Admin Columns Pro 4.3.1