Subscribe to this blog and receive notifications of new posts by email.
Join 2,407 other subscribers
Suggest topics for the July 15, 2010 dev chat.
Ramoonus, demetris, WordPress drops PHP 4 in Q1 2011 | hakre on wordpress, and 18 others are discussing. Toggle Comments
PHP 4 EOL discussion.
What do the current phone-home stats show as the version use?
For WordPress 2.7 and higher, 7.56% are using PHP 4.
For WordPress 2.7 and higher, 3.60% are using PHP 5.0.x or 5.1.x.
Combined, that is 11.16% of WordPress installs using a PHP version lower than 5.2.
However, we considered that people running an older branch of WordPress might be disproportionately using older versions of PHP, because of self-managed servers or a lazy hosting provider. We’re waiting on that data. Little elves are running in a hamster wheel.
It is expected that if we announce an EOL for PHP versions less than 5.2, and give enough warning, that some hosts will upgrade (or change their default). So those numbers will go down. Also consider that both Drupal and Joomla are going to require PHP 5.2 sometime this year. If WordPress was on board, that would be a heck of a motivating factor for the laggards.
Big and excellent move. It might be the right time to launch such a discussion, with the current cycle focused on 3.org, minds can still be made before the team moves into actual coding in September. If we count an approximate 3 months of dev time for 3.1 (provided that is the version that would receive such treatment), that leaves half a year of Internet-evolution before the move is applied.
Now of course, it might be decided to go slow and only place some more PHP5 warnings into the 3.1 code, and make the complete move at a later time (PHP5 -> 3.5? argl).
Now, one thing that could be useful, along with phone-home stats, is to dive into a list of hosts and see how well they are prepared for such a move — and maybe start a mailing campaign to get ready.
A joint announcement with Drupal and Joomla would certainly help, too.
Drupal made their plans known a few years ago that version 7 would be PHP 5.2. I’m not sure when Joomla announced their plans, but 1.6 is currently in late beta and it also requires PHP 5.2.
My opinion (at least before we queried these stats yesterday) is in 3.2 we should bump the limit, remove compat code, etc. What’s killing us is testing coverage, not the lack of PHP5 features. If we do any “You’re running PHP 4″ warnings that’d be for 3.1. But we’ll discuss at the dev meeting. Most importantly, reaching a decision and announcing a firm date now provides hosts a timeline.
And we can wish and hope all we want, but a three month dev cycle just isn’t going to happen
What’s killing us is testing coverage, not the lack of PHP5 features.
I suspect the real harm is an invisible brain drain. Why would PHP programmers be eager to contribute code to a project that requires them to use a dead language, in particular a dead syntax?
Excluded are those who love to program, are new to WordPress, and know what they’re doing. It would be hard to prove we’ve lost too many of those kinds of people until it’s too late.
Somehow, I know you’d burn me on the “3 months dev cycle” thing
filosofo: Excellent points.
If we decide on 3.2, I would recommend that we incorporate that knowledge the update-core.php. It could display an error message at the top & prevent upgrades to 3.2 or higher.
While we are in there core_upgrade_preamble() could use another action call. It makes sense to have one up right where the announcements are echoed out.
WordPress 3.0 already includes a PHP/MySQL version check before upgrades, I’m pretty certain that displays a warning and prevents updates if they dont match..
You, Sir, are correct. It’s built into list_core_update(). Good catch.
I’m down for 3.2, or more generally whatever release is in Q1 of 2011.
Should we bump to 5.3 as recommended?
That’d be 3.1 then, which isn’t bad, and we can simply tell hosting companies Q1. I said 3.2 originally but I didn’t realize the stats were in our favor to do this sooner. This also prevents us from needing to do any major refactoring or feature development in 3.1 but still need to use PHP 4 syntax and constructs (lame duck). 3.org also gives us an additional cushion that allows us to aim for 3.1 — hosting companies will have a solid 6-7 months to make adjustments.
More people are on 4.4 than 5.3, so the stats just don’t support that, unfortunately. The good thing is, the stats do solidly support a jump to 5.2.
For everyone’s reference, here’s the stats for all WordPress 2.7+ installs:
4.3 – 1.3%
4.4 – 6.3%
5.0 – 0.1%
5.1 – 3.5%
5.2 – 85.4%
5.3 – 3.4%
I wouldn’t be surprised if a large portion of the 5.3 installs are local development installs where people have control and tend to run the latest version of things.
5.2 looks like the key winner here.
+1 to 5.2
5.3 deprecates a lot of stuff. We’re good with WordPress, but a lot of other scripts likely won’t be and I bet a lot of hosts are holding off as a result.
What are the stats for 2.9+? I think we should only consider the people that are likely going to upgrade to the next version of WordPress. What would you do if you knew that 6% of installs would never upgrade from WordPress 2.7 and would never upgrade PHP from version 4.4… until their servers killed over. Is there any correlation between running an outdated version of PHP and an older version of WordPress?
@Dan: I think it’s safe to assume that there is enough of a correlation to bring down the percentages a bit for older versions of PHP, though probably not much. Mark said he was waiting on that data. (“Little elves are running in a hamster wheel.”) We’ll make sure to have it for Thursday, though I think the 2.7+ data is plenty persuasive on its own.
Does making the recommended php version 5.3 help move us toward to 6.0 compatibility?
The Backwards Incompatible Changes list doesn’t look too bad over 5.2: http://us2.php.net/manual/en/migration53.incompatible.php
And the E_DEPRECATED error level should help mitigate any issues that do arise: http://php.net/manual/en/migration53.deprecated.php
The required version would be 5.2 right?
Oh… my… god. Finally, we have reached the mythical PHP4 < 10%.
PHP 5.2 is the way to go.
PHP6.0 should not be considered at the moment as news suggests that the PHP developers might go in a new direction with regards to what PHP6.0 is. As of right now, I’d suggest you think of PHP5.3 as PHP6.0 until new details comes out.
5.3 has had some problems (5.3.1 had some serious issues that breaks things) and it really isn’t there yet on enough hosts for it to be a viable target. I say go for 5.2 compatibility, or just 5.0+ compatibility.
From the PHP perspective:
All of that said, if you require 5.2 as a minimum, you should make sure it’s 5.3 compatible and doesn’t throw all kinds of E_Deprecated warnings. Some plugins are likely to misbehave if you leave any.
@Keith: All my WordPress sites run PHP 5.3. It was a bit rough at first with all of the warnings, but they were resolved long ago.
What are the numbers on PHP 5.2 and 5.3?
The stats for WP 2.9+ weren’t significantly different. 85.2% on 5.2, and 3.2% on 5.3. Regardless, I still feel strongly about targeting PHP 5.2 for our first 2011 release.
Did someone misread the haiku statement?
From the more general PHP perspective.. going 5.3 only is *very* premature. Some of the major frameworks – name the Zend Framework, Symfony, and Lithium (build by some of the CakePHP team) – are or are going 5.3 by Q1 2011, but they target and reach a completely different segment than the average WordPress installation. My 0.02.
Suggested topic: Initial 3.org contact reports by the 6 team leads:
API Reference. Andrew Nacin
Handbooks: Jane Wells
bbPress: John James Jacoby
PI: Support: Mark Jaquith
PI: Commmunity: Peter Westwood
PI: Core: Ryan Boren
I don’t think we can require PHP 5.3 until it’s widely available in the popular Linux package repositories. Debian current stable, for example, has the PHP 5.2.x package.
I definitely agree, but I don’t think that is what was being discussed.
Matt’s wording “Should we bump to 5.3 as recommended?” could be read either way but I think he is referring to this section of the codex:
We already recommend 5.2 today. This is a just a soft push forward. The required and recommended versions are not often identical.
You’re right. Sleep deprivation had me reading “recommended” as “required.”
Either that or I’m just so giddy about being able to kick PHP 4 into the rubbish heap.
Yeah, there are new functions like json_decode that sound really neat, but I’m not sure all this new fangled “jason” stuff 5.0 gives us will ever catch on. SERIALIZATION FTW!
Yes, it’s recommended. Since we’re going to make a big push around hosts, it would be worth getting them on something we’re comfortable with for 3-4 years down the road.
I’ve always wondered about the stats we see from hosted users. Are there really a lot of hosts that *only* offer PHP4? Or are there a lot of hosts that have both available, but default to PHP4, or users who came on board with PHP4 and don’t know/care that PHP5 is an available upgrade?
I suspect the latter, but have no evidence.
[...] The PHP 5 demanding part of the wordpress user-base has started to jubilee over the long awaited decision and reacted quite actively and positive to the announcements. [...]
Suggested topic: email@example.com What do you want to subscribe to?
[...] WPDevel is going on regards leaving PHP4 behind, and which PHP5 version to move too. From their own stats on WP installs, 85.4% use [...]
Set up team to evaluate shared-hosting providers for WP.org recommendations.
Trac ticket of the proposal: http://core.trac.wordpress.org/ticket/14087
This is also tangentially connected to the PHP4 EOL discussion.
← Last night two big changes happened on W…
Fixed http://core.trac.wordpress.org/tic… →