Page MenuHomePhabricator

Drop PHP 5.3 support
Closed, ResolvedPublic

Description

WMF is upgrading to 14.04 and switching to HHVM.

Although we can't do it yet, we should look at bumping the minimum PHP version we support (considering 5.3 is deaded as far as PHP are concerned), and clean up any hacks/conditionals in core

I guess we should use 5.5.9 as that is what 14.04 brings us... http://packages.ubuntu.com/trusty/php5

Related Objects

StatusSubtypeAssignedTask
ResolvedLegoktm
ResolvedNone
ResolvedJoe
ResolvedJoe
ResolvedJoe
Resolved tstarling
ResolvedJoe
Resolvedkaldari
Resolvedjcrespo
ResolvedVolans
ResolvedPRODUCTION ERRORaaron
InvalidNone
DeclinedArielGlenn
ResolvedArielGlenn
Resolvedori
DeclinedNone
ResolvedMoritzMuehlenhoff
ResolvedJoe
ResolvedJoe
ResolvedJoe
ResolvedAndrew
ResolvedJoe
Duplicatefgiunchedi
Resolved brion
Resolved brion
Resolvedbd808
ResolvedJoe
Resolvedfgiunchedi
ResolvedPRODUCTION ERROREBernhardson
ResolvedKrenair
ResolvedNone
Resolvedhashar
Resolved tstarling
Resolved tstarling
ResolvedMaxSem
ResolvedLegoktm
ResolvedReedy
DuplicateNone
ResolvedJanZerebecki

Event Timeline

Reedy raised the priority of this task from to Needs Triage.
Reedy updated the task description. (Show Details)
Reedy changed Security from none to None.
Reedy subscribed.

We can do this now, I assume? We're now at 100% HHVM. Should we do it for 1.25?

We can do this now, I assume? We're now at 100% HHVM. Should we do it for 1.25?

We've still got some misc servers and such we're using that are still using zend PHP

We can do this now, I assume? We're now at 100% HHVM. Should we do it for 1.25?

We are not at 100%. Just apache stuff. Misc boxes, image scalers, etc all are still pending.

We can do this now, I assume? We're now at 100% HHVM. Should we do it for 1.25?

We're not at 100% HHVM yet. imagescalers, job runners, and other servers like terbium and tin. Though I think we'll still be able to do this for 1.25.

We can do this now, I assume? We're now at 100% HHVM. Should we do it for 1.25?

We're not at 100% HHVM yet.

Ah, my mistake. Have created a blocking task as nothing was already around that I could find.

Though I think we'll still be able to do this for 1.25.

Cool.

The triplicate posts made me smile. <3

Aklapper triaged this task as Medium priority.Mar 21 2015, 9:47 PM
Aklapper added a project: MW-1.25-release.
Aklapper subscribed.

Should we do this in the REL1_25 branch and update master later?

I don't think this will land in REL1_25. 26?

Bumping from 1.25-release to 1.26-release as that looks more realistic.
If someone still would like to push this for 1.25: Feel free to reset.

A couple of points:

  1. Shouldn't this be blocked by the still-open PHP 5.4 compatibility bug, rather than the other way round?
  2. Has anyone worked out what effect this will have on the MediaWiki user base? According to http://w3techs.com/technologies/details/pl-php/5/all, 40% of the most-visited PHP-driven web servers are still on PHP 5.3. Unless someone has some alternative stats, it seems reasonable to therefore suggest that 40% of third-party users of MediaWiki are also still on PHP 5.3. This seems like far too high a percentage of users to abandon.
  3. The suggestion of raising the minimum requirement to 5.5 is way too premature. Combining PHP >= 5.5 only just scrapes above 10% of the installed user-base for PHP5.

Please don't make a WMF-centric decision without considering the many thousands of other MediaWiki installations out there, and how they will be impacted.

I agree that one should consider third party users of MediaWiki. However, I disagree that bumping the required version is equivalent to abandoning users that still use 5.3. MediaWiki makes patch releases and has LTS versions. Furthermore, most of the people still running PHP 5.3 are running out of date MediaWiki versions anyway. Not all of them of course, but the numbers are not as clear cut as "40% of users will get screwed over".

This is a good non-WMF-centric post on the topic: http://blog.ircmaxell.com/2014/12/on-php-version-requirements.html

Hi - yes, I know that post. I agree with some of it.

The problem, as I see it, is that I have never yet encountered a shared-hosting provider where "upgrading PHP" != "migrating servers" and for a lot of people that turns what could be a small job into quite a big scary job. End result? User stays way they are, but stops upgrading MediaWiki.

My point wasn't "40% of users get screwed over" but rather I was asking the question "what percentage of users get screwed over?". The best figure I can find is 40%, but is there a more relevant figure? We should answer that question before dropping 5.3 support. If it turns out that it is about 40%, then we're in a very different place from if it turns out to be 5%.

Wikiapiary has stats about PHP usage on wikis, although it would be useful if filtered by wikis using a supported MediaWiki version (1.25, 1.24 and maybe 1.23). Note that those graphs are not accurate, since they are sampling only the first 500 wikis. Someone which knows how to query SMW data properly may come with a good overview of PHP 5.3 usage

Given that PHP 5.4 will stop receiving security updates in 25 days, and I don't expect Wikimedia to have migrated all 8 of the remaining 5.3 hosts (snapshot100[1-4], tmh100[12], tin and terbium) by then, we should probably be thinking about moving the requirement to PHP 5.5 instead (no longer actively supported, but will be getting security updates for another 10 months).

Given that PHP 5.4 will stop receiving security updates in 25 days, and I don't expect Wikimedia to have migrated all 8 of the remaining 5.3 hosts (snapshot100[1-4], tmh100[12], tin and terbium) by then, we should probably be thinking about moving the requirement to PHP 5.5 instead (no longer actively supported, but will be getting security updates for another 10 months).

Unless we backport 5.5, we're stuck with what's in trusty

REL1_26 has already been branched. Won't be happening in that release.

Change 266932 had a related patch set uploaded (by Jforrester):
Bump required PHP version to 5.5.9

https://gerrit.wikimedia.org/r/266932

Change 266931 had a related patch set uploaded (by Jforrester):
WIP: Bump required PHP version to 5.5.9

https://gerrit.wikimedia.org/r/266931

Change 266941 had a related patch set uploaded (by Jforrester):
WIP: Test MW-core against PHP55 for master/REL1_27

https://gerrit.wikimedia.org/r/266941

Change 266941 merged by jenkins-bot:
Use php55 jobs for MediaWiki master

https://gerrit.wikimedia.org/r/266941

Many hosts use php 5.3 and wont upgrade manly the ones that are free that a lot of users like using.

Many hosts use php 5.3 and wont upgrade manly the ones that are free that a lot of users like using.

Tough.

They should be upgrading for security reasons, never mind a whole host of other reasons.

Could we do this change in 1.28 instead of 1.27 if it is a LTS release since we changed the requirements after 1.19 release which was a LTS release and it would buy users more time to upgrade there server.

Could we do this change in 1.28 instead of 1.27 if it is a LTS release since we changed the requirements after 1.19 release which was a LTS release and it would buy users more time to upgrade there server.

Please, stop flogging the dead horse.

We have an LTS that supports PHP 5.3 - 1.23

The decision has already been made.

Making this LTS support PHP 5.3, would mean we're supporting PHP 5.3 till 2019, effectively.

PHP themselves stopped supporting 5.3 mid 2014, so we were still doing so well over a year after they did

Could we do this change in ...

No. Decisions have been made. Deadlines for decisions have been announced widely beforehand (e.g. on wikitech-l).

Change 266932 merged by jenkins-bot:
Bump required PHP version to 5.5.9

https://gerrit.wikimedia.org/r/266932

Change 266931 merged by jenkins-bot:
Bump required PHP version to 5.5.9

https://gerrit.wikimedia.org/r/266931

Legoktm claimed this task.

PHP 5.3 compatibility is still enforced by CI, I created T126440 for that.