Textpattern 4.9 will have revised system requirements: PHP 5.6 or newer & MySQL 5.5 or newer.
Please ensure your web servers are running at least these versions to ensure Textpattern continues to work as expected when you upgrade to Textpattern 4.9.
Why are the minimum requirements changing?
We are changing the system requirements to streamline development work, remove legacy code, and further improve everyone’s experience of Textpattern.
How the pieces join together
Textpattern runs on a supported web server running the PHP scripting language and a connected MySQL database. We – Team Textpattern – make Textpattern (i.e. the content management system), PHP is made by The PHP Development Team, and MySQL development is handled by Oracle. While we can follow the development of new versions, especially with PHP where it all happens in the open, it is often more viable for us to wait until the beta or release candidate stage of development to ensure we have something nearing a finished product to check Textpattern against.
Textpattern, PHP and MySQL all use semantic versioning for releases. In real terms, this means when the first number increases, this is a major update. These major updates often involve a significant code overhaul internally, including different ways to perform tasks. As Textpattern stewards, we work towards compatibility with new releases of PHP and MySQL while maintaining support for the majority of web servers where older versions are deployed.
Textpattern includes code that checks for a PHP version and responds accordingly, like this:
- If PHP 5 is active do the thing this way; but…
- …if PHP 7 is active do the same thing that way; but…
- …if PHP 8 is active do the same thing another way.
We also have further considerations for minor releases (i.e. PHP 5.6, PHP 7.4, PHP 8.0 etc) behind the scenes, too. This part is where the overall size and complexity of Textpattern grows, and with that comes performance considerations – whether you’re running a current or legacy PHP. When we are able to safely remove these checks for code checks that handle very old PHP versions, we all benefit:
- Fewer checks mean better performance for newer PHP – your visitors, users and administrators have a more responsive website without putting more coins in the web hosting meter.
- Fewer bytes in the Textpattern code – less time is spent obtaining Textpattern, and our Internet tubes have less flowing through them, albeit in a small way.
- Developer and plugin author time is more efficiently spent – new features and existing improvements can be prioritised over legacy code tasks, so you see new stuff more often and sooner.
Vendor support & PHP versions in use
At the time of writing, PHP 5 is still used by around 1 in 4 websites where PHP is deployed , according to W3Techs PHP 5 market share. If you are still running PHP 5 on your web server, please consider updating to a newer version. If your current web hosting environment does not offer a newer, actively-supported version of PHP, we recommend looking elsewhere for an organisation that can.
Vendor support for PHP 5.6 ended on 31 December 2018. PHP 7.0, PHP 7.1 and PHP 7.2 are also end-of-life’d by The PHP Development Team, with vendor support for PHP 7.3 due to end in December 2021. There are multiple vulnerabilities with older, unsupported PHP versions that will not be fixed by The PHP Development Team since those versions are considered ‘done’.
Bluntly, your own Textpattern website may be at risk if the underlying software can be compromised by a bad actor. We do everything we can to ensure Textpattern is as safe and robust as possible, but we can’t do anything about PHP vulnerabilities.
Textpattern administrators & users are providing feedback on their experiences with various hosting organisations in this forum thread: Who Does Your Textpattern Hosting?: July 2021 Edition. You are warmly invited to get involved and add your feedback, or query respondents.
If you are tied to PHP 5.5 and cannot upgrade for any reason, please stay on Textpattern 4.8 as that will be the most recent Textpattern release series with support for that version.
Edit: the original release of this article referred to “PHP 5 is still used by around 1 in 4 websites where PHP is deployed”, which is incorrect. We have changed the reference: PHP 5 is still used by around 1 in 4 websites.