We would like to warn you that PHP 7.4 will be dropped for Nextcloud 26.
We would like you to understand why we made this decision and gather information for you about how to upgrade.
Why?
PHP communicated that support for security fixes for 7.4 will be stopped by end of November, 2022. This means that running PHP 7.4 will come with considerate security risks. Continuing to support PHP 7.4 means we cannot introduce new security measures that PHP 8.1 comes with. The syntax that we are allowed to use must be the lowest one of the supported versions, thus the upstream packages of third parties break because they dropped this support. Most of the packages drop support for old versions once those packages are no longer supported by PHP in general, and this is now the case.
Another important consideration is that running an old PHP version significantly affects performance. The language improved over time. For example, we use some parts of the symphony in the Nextcloud code. A PHP release blog wrote Symphony on PHP 7.4 takes roughly 1,6 seconds to answer 250 requests, and Symphony on PHP 8.1 takes roughly 1,2 seconds to answer 250 requests. Thus, the new version is roughly 24% faster.
This is why we decided to follow this and plan to drop the support for 7.4 too, to be able to prioritise security and performance and keep our technology stack up to date.
Manuals
For all recommended operating systems that do not already come with php 8.1 out of the box, manuals are available how to upgrade to php 8.1:
- Ubuntu 20.04 LTS
- Red Hat Enterprise Linux 8 / CentOS Stream
- Debian 11 (Bullseye)
- @MichaIng wrote a tutorial about how to upgrade to Nextcloud 26 on Debian Bullseye, using either Ondrej’s PHP repository or upgrading the system to Bookworm: HowTo: Upgrade to Nextcloud 26 on Debian Bullseye and he would appreciate feedback.
Ubuntu 22.04, and openSUSE Leap 15.4 / SUSE Linux Enterprise Server 15, already come with php 8.1 out of the box so we assume the deprecation of php 7.4 is not a blocker for those use cases.
Long term support needed?
Given manuals are available, we assume that all small scale installations are able to upgrade the php version without considerable blockers. We do think this can be a larger consideration for very large scale installations or service providers who run many instances and we have a solution for that.
If you are running Nextcloud for such an organisation-critical use case, you could consider upgrading your subscription to a premium subscription which comes with 5 years of long term support.
This means that you could run Nextcloud 25 for up to 5 years after the enterprise version release date, which means you could continue running php 7.4 until December 2027.
By that time, for example, the Ubuntu LTS stack would also no longer be supported anymore for 2 years, so we assume the deprecation of 7.4 within Nextcloud will no longer be a blocker for you.
Next steps
If you know other operating system manuals that can help people to upgrade, please let us know.
We added a section to our admin documentation about the support of old PHP versions as we expect this to be a repeating concern, given that new PHP versions are released and deprecated every year.
As we know this might be a difficult blocker for some of you, we want to be transparent about it and communicate early.
This is why we decided to already communicate about this now. Note that this is a 4-months notice period, given that Nextcloud 25 will of course continue to work on 7.4. If PHP 7.4 will be dropped for Nextcloud 26, then the admin settings in Nextcloud 25 will also show a warning.
All the best!
Daphne
Edit: updated the post with latest information from @Andy and the tutorial of @MichaIng