[wp-trac] [WordPress Trac] #36542: Minimum support to PHP 5.3 from 5.2.9
WordPress Trac
noreply at wordpress.org
Fri Apr 15 18:53:37 UTC 2016
#36542: Minimum support to PHP 5.3 from 5.2.9
-------------------------+-----------------------------
Reporter: seancjones | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version: trunk
Severity: normal | Keywords:
Focuses: |
-------------------------+-----------------------------
== Overview ==
This debate has popped up a number of times before. Invariably there is a
tension between developers and the core, user-focused mission of
WordPress. The concern is that although the number of sites running PHP
5.2 have dropped significantly over the years, now just 8.4%, that is
still a staggeringly large number of users.
My untested hypothesis is that many of these users are probably not the
quickest to update to the newest version of WordPress. Furthermore, one of
the largest reasons to update to WordPress (other than to experience all
of the awesome features) is to protect against security vulnerabilities. I
believe WordPress 4.6 can only increase its awesomeness if it is able to
use the features in PHP 5.3.
I propose PHP 5.3 for its smallest possible incrementation, making it a
good test for a WordPress system upgrades, and because of select features
I will list later in this proposal.
== WordPress Core Reasons to Upgrade ==
Users upgrade for security reasons and to access new features.
==== Security ====
PHP 5.2 has been EOL for 5 years. 5.2.9 has [https://www.cvedetails.com
/vulnerability-list/vendor_id-74/product_id-128/version_id-81705/PHP-
PHP-5.2.9.html 2 pages of known vulnerabilities] which a WordPress website
can be subjected to. In fact, there were 8 updates after 5.2.9, which
addressed security vulnerabilities. WordPress can provide security
updates, but if a user/host is so unconcerned with security as to leave a
service with so many known exploits running on their website, I do not
believe we even want WordPress to be associated with the potential
fallout.
==== New Features ====
The WordPress community has accomplished something truly incredible in
creating the most used CMS in the world. It is insanely user friendly, and
gets more user friendly with every release. Much of the new features are
JavaScript driven, but PHP is still at the core of WordPress and there
continue to be new improvements.
By upgrading to PHP 5.3, many users would not be able to update to the
newest version of WordPress. However, are they? And, would upgrading the
minimum support to PHP 5.3 be the largest barrier to apathy? I propose
that this needs further investigation.
How many users running PHP 5.2.9 are upgrading to the newest version of
WordPress? Roughly 1/3 of all users are running Wordpress 4.1 or lower.
While this isn't strong enough evidence to be fact, I think it's worth
exploring further. If I am given a clue as to how I can do that myself,
I'm more than happy to, but cross referencing PHP versions with WordPress
versions would probably be a more reliable indicator of who would be
immediately affected by an update to minimum support of PHP 5.3.
== Why 5.3 and not something newer? ==
The few holdouts who are running 5.2.9 should realistically be able to
upgrade to PHP 5.3 without major system upgrades (even if they really
should make major system upgrades and/or replace their server which is
probably EOL. Just because they should does not mean they will/can). A
portion of those will skip straight to a newer version, which is a good
thing.
Additionally, this very minor and very careful upgrade path would be a
good test for subsequent updates in the future. As a market leader,
WordPress has been pushing its weight to get hosts to upgrade, and I think
it can afford to do so in this small way and hopefully help push this
boulder further uphill.
== Features in 5.3 ==
By upgrading the minimum support to 5.3, WordPress would be able to do
some truly incredible things:
1. Prevent future cluttering of the global namespace. PHP 5.2.9 does not
support Namespaces. By upgrading, WordPress would be able to introduce
namespaces that are not filled with underscores. This may not be possible
for current classes, but can certainly be implemented for any new
features. Optionally, by implementing `class_alias()`, another PHP 5.3
feature, one could use old and new namespaces, encouraging new plugins to
implement namespaces instead when writing classes.
2. Introduce anonymous functions. While these can certainly be overused,
any developer who has used anonymous functions grinds their teeth when
they think about how to implement the same features without them. This is
another way to declutter the global scope for rarely-used functions that
consist of globals.
== Implementation ==
Implementation would need to be careful and thought out to cause the least
amount of disruption to the subset of users who run on PHP 5.2.9 but like
to update to the newest version of WordPress.
I propose something along the following lines:
1. In a minor release of 4.5, issue a dismissable warning to users who
upgrade, that the next major version of WordPress will no longer support
PHP 5.2.9. Release a corresponding press release so that there is a lot of
publicity around it.
2. Do not introduce updated features in WordPress 4.6. Instead, introduce
a very obvious warning on all WordPress pages for logged-in administrators
running PHP 5.2.9, that their version of PHP is no longer supported,
inviting them to either roll back to an older version of WordPress or to
update to PHP 5.3 or greater. While this may inundate support pages, it
will not outright break websites.
3. Begin implementing newer PHP 5.3 features in WordPress 4.7 or WordPress
4.8. That will give a full year of increasing intensity and chances to
upgrade before finally enforcing an upgrade. If relatively painless, it
can also pave the way for additional upgrades. For example, as servers
update their systems they may decide that they need to update to PHP 5.5
or PHP 5.6, making the next update happen more quickly.
== Conclusion ==
Ultimately, with under 10% of users running 5.2.9 (and a significantly
larger percentage running 5.3), this is the time to finally upgrade
minimum support in WordPress. While upgrading past 5.3 would be wonderful,
and my heart of hearts yearns to see it happen, it is far too large of a
jump for the CMS that essentially drives the world wide web. I believe
this would be a good test, and, if executed carefully, would have a worst
case scenario of having some users get worried with no serious impact to
most visitors, and a best case scenario of having virtually no issues with
the upgrade, following the logic that the people who do not upgrade PHP
are less likely to upgrade WordPress as well.
Hopefully I have made a convincing argument and we can safely revive this
ancient debate.
Thanks,
Sean
--
Ticket URL: <https://core.trac.wordpress.org/ticket/36542>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list