Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
At the very least we should try to require PHP5.2.8 for check_plain() if it's in Debian and/or Red Hat by then.
Namespacing and lambda/enclosures make it tempting to try requiring PHP5.3. Obviously we'll have to track usage.
Comment | File | Size | Author |
---|---|---|---|
#44 | php-5.3-tweaks.patch | 7.55 KB | jbrown |
#39 | php-5.3-tweaks.patch | 7.55 KB | jbrown |
#35 | 576508-php-5-3-upgrade-35.patch | 5.88 KB | aspilicious |
#32 | 576508-php-5-3-upgrade-31.patch | 6.24 KB | aspilicious |
#25 | 576508-php-5-3-2.patch | 397 bytes | TR |
Comments
Comment #1
arhak CreditAttribution: arhak commented-1
IMHO requiring PHP 5.3 would be a rush
too many hosting won't get there that soon
PHP 5.3 seems pretty unstable, even introducing new features like namespaces having huge changes/improvement between 5.3 minor versions
Comment #2
tmuras CreditAttribution: tmuras commentedRelates to #360605: PHP 5.3 Compatibility and #867772: Use PHP 5.3 namespaces . Among other reasons for requiring it, PHP 5.3 is now the only officially supported PHP version. Security updates are only done for PHP 5.3.
I imagine that D8 will require PHP 5.3. Can we document it and close that issue?
Comment #3
Dave ReidI've already seen several web hosts switch to 5.3 as default, or offer it as an option. +1 for D8.
Comment #4
mfer CreditAttribution: mfer commentedIn my searches I did not find this issue. Updating the title to make it easier to find and use. There was some conversation on #1167160: Bump Drupal 8 Minimum PHP version to 5.3 as well.
To restate what I said there....
Comment #5
mfer CreditAttribution: mfer commented@tmuras Drupal has a check for the minimum php version. So, there is a tiny amount of code to change on this issue.
Comment #6
catchRetitling, we need to make a decision on 5.3 or not, I can't think of any minor 5.2 versions that are relevant at the moment (check_plain() was solved with 5.2.4 in 7/8 over a year ago).
Marked #1167160: Bump Drupal 8 Minimum PHP version to 5.3 as duplicate.
I'm currently in favour of requiring 5.3 and think it's worth basing the release date on this requirement (as opposed to basing the requirement on the release date).
Regardless of any features in 5.3, there's a chance that PHP 5.4 will come out during the 8.x lifecycle. This is going to mean we may have to retrofit 5.4 support into Drupal 7, we may or may not see early 5.4 releases by the time 8.x is on its way out.
I would much rather worry about supporting two major PHP versions, especially in contrib, than three - Drupal 6 supporting PHP4 all the way through to PHP 5.3 has not been an easy path.
Bumping this to 'major' - the patch is tiny but the ramifications are large.
Comment #7
RobLoachWhoever submits the first Drupal patch with a
goto
in it gets a cookie.Comment #8
RobLoachGood ol' comment module not protecting from issue status changes.
Comment #9
Crell CreditAttribution: Crell commentedI am 100% in support of this move. Remember, we're looking at what the market will look like at the end of 2012 or thereabouts. By then, 5.3 should be readily available on anything capable of running Drupal in the first place.
Comment #10
Crell CreditAttribution: Crell commentedArgh!
Comment #11
catchI didn't actually mean to change the title from mfer's, just the original one, that was also a crosspost ;)
Comment #12
aspilicious CreditAttribution: aspilicious commentedI have a very cheap host (one.com) and even they switched to php 5.3 a few months ago. (Thnx to this issue I started reading more about php 5.3, and now I'm convinced we should do this :p )
Comment #13
jbrown CreditAttribution: jbrown commentedRemember:
goto
should only be used as abreak
to a labelled destination. ;-)Comment #14
droplet CreditAttribution: droplet commented2012 is the end of the world, we have to try it and release D8, LOL
Comment #15
tmuras CreditAttribution: tmuras commented+1 for PHP 5.3 only and D8
@mfer I can look at the patch
Comment #16
RobLoachComment #17
TR CreditAttribution: TR commented+1
We already have to support 5.3, without being able to take advantages of its new features. Let's make this a D8 requirement.
Comment #18
Crell CreditAttribution: Crell commentedDo we want 5.3.0, or one of the later releases with bug fixes?
I'd say the oldest 5.3 that's used by current stable versions of: Debian, Ubuntu, Red Hat, Suse. (Those cover the vast majority of the market.)
Comment #19
tmuras CreditAttribution: tmuras commentedI was also thinking about requiring as high as possible version of PHP 5.3.x but I think that requiring 5.3.0 is good enough. Debian for instance has 5.3.3 but this includes security patches from 5.3.4 and 5.3.5.
We should be requiring higher version only if there are some features that we would like to use. Are there?
Comment #20
Crell CreditAttribution: Crell commentedThere should be no new features in 5.3.x after 5.3.0. What there are is fewer bugs. Fewer bugs == fewer workarounds for us.
Perhaps we should commit 5.3.0 for now, and then be comfortable with bumping that requirement later if we find a bug that's fixed in 5.3.2 or some such that we don't want to have to deal with.
Comment #21
jbrown CreditAttribution: jbrown commentedI agreed with @Crell in #20.
We should require 5.3.0 so we can take advantage of new features. We can require a later 5.3 release if its absolutely necessary to fix a bug, but this should be avoided if possible to maintain maximum compatibility.
Comment #22
Crell CreditAttribution: Crell commentedA little research from DistroWatch:
Current releases:
RHEL 6.1 (stable): PHP 5.3.3
Debian 6.0 Squeeze (stable): PHP 5.3.3
Ubuntu 11.04 (stable): PHP 5.3.5
openSUSE 11.4 (stable): 5.3.5
Mandriva 2010.2 (stable): 5.3.4
CentOS 5.6 (stable): 5.1.6
Fedora 15 (stable): 5.3.6
Old releases:
RHEL 5.6 (oldstable): PHP 5.1.6
Debian 5.0 Lenny (oldstable): PHP 5.2.6
Ubuntu 10.10 (oldstable): PHP 5.3.3
openSUSE 11.3 (oldstable): 5.3.2
Mandriva 2010.1 (oldstable): 5.3.2
Fedora 14 (oldstable): 5.3.3
Since we don't support 5.1 anyway anymore, it looks like PHP 5.3.3 would cover every current distribution. 5.3.2 would cover every current distribution and one version back (except on Debian, where Lenny is very very old anyway and using 5.2).
I'm happy with either 5.3.2 or 5.3.3 as a target.
Comment #23
tmuras CreditAttribution: tmuras commented+1 for 5.3.2 so.
Comment #24
RobLoachAnyone else want to update that patch to 5.3.2? Easy one to do.
Comment #25
TR CreditAttribution: TR commentedI think I can handle that :-)
Comment #26
Crell CreditAttribution: Crell commentedTest bot approved!
Comment #27
Dries CreditAttribution: Dries commentedThis is a good one to have. Committed to 8.x.
Comment #28
David_Rothstein CreditAttribution: David_Rothstein commentedPatch still needs work (try running "grep -R 5\\.2 ." on a D8 checkout).
Biggest problem is probably install.php which still tells you "Drupal requires at least PHP 5.2.4", but there are others.
Comment #29
catchNow it's a bug.
Comment #30
aspilicious CreditAttribution: aspilicious commentedI'm on it
Comment #31
aspilicious CreditAttribution: aspilicious commentedI put one todo in the code. (can someone give advice or reroll :) )
And this needs a review.
I'm wondering if this broke something...
Comment #32
aspilicious CreditAttribution: aspilicious commentedforgot patch
Comment #33
aspilicious CreditAttribution: aspilicious commentedComment #35
aspilicious CreditAttribution: aspilicious commentedLets try again
Comment #36
amateescu CreditAttribution: amateescu commentedShouldn't we use
DRUPAL_MINIMUM_PHP
here?Something like:
Powered by Dreditor.
Comment #37
jbrown CreditAttribution: jbrown commentedDRUPAL_MINIMUM_PHP isn't available that early.
Comment #38
David_Rothstein CreditAttribution: David_Rothstein commentedTo make it available we'd need to include bootstrap.inc, which (last time someone checked, at least) causes a parse error in PHP 4... see #722974-10: Install script returns a blank page for PHP4, PHP 5.1 (should display *something* instead)
Might be worth adding this fact to the code comment in install.php. (Or we could just decide to let PHP 4 users whitescreen by the time Drupal 8 comes around, but I'm not sure that's a good idea, and anyway, it's a different issue.)
Comment #39
jbrown CreditAttribution: jbrown commentedUpdated patch.
Performed the TODO in authorize_get_filetransfer()
Tidied up drupal_error_levels()
Added a comment to install.php per #38
Comment #40
sunBug report??
Comment #41
catchSun, it's a bug now because the installer tells you to use 5.2 when it now actually requires 5.3.
Comment #42
catchMoving back. It'd be good if we could start just rolling back patches when they're immediately found to introduce bugs then it wouldn't put the bug count higher.
Comment #43
David_Rothstein CreditAttribution: David_Rothstein commentedPatch looks good on a visual review (I haven't tested it though). One minor typo:
Should be "explicitly".
Comment #44
jbrown CreditAttribution: jbrown commentedComment #45
David_Rothstein CreditAttribution: David_Rothstein commentedI only tested one or two parts of this directly, but the testbot says the whole thing is good and the patch itself looks very straightforward, so I'm marking it RTBC.
Comment #46
andypostWhile PHP 5.3 is requirement there's a great ability to cleanup D8 codebase to make it compatible with True FastCGI support introduced.
Is there any issue / post at g.d.o about making Drupal compatible with FastCGI?
This ability could be illustrated with
Comment #47
Dries CreditAttribution: Dries commentedCommitted #44 to Drupal 8. Thanks for the rigor, David.
Comment #49
rfayUnfortunately this is the error message:
However, http://drupal.org/requirements says:
Comment #50
rfayI updated http://drupal.org/requirements just in that one place. This is a pretty major change, and caught me by surprise. Are there other places that we should be fixing docs? Wouldn't this be called something like a major API change in midstream?
Comment #51
rfaySorry, I'm just lost. I fooled myself checking out 8.x
Comment #52
webchickA note that the requirements were raised to PHP 5.3.3 as of #1321540: Convert DBTNG to namespaces; separate Drupal bits.
Comment #53
Jelle_SBy now it seems that PHP 5.3.4 is required because of Drupal\field\FieldInstance
It implements ArrayAccess. The reason it needs PHP 5.3.4 is that FieldInstance has the offsetGet method implemented as returning by reference.
From the php website:
This means the requirement should be updated (and I need to get my php version up to date)
Comment #54
catchSee #1751100: Bump minimum version of php required to 5.3.5. Unfortunately you caught the window between the new code being added and the requirement itself being bumped, but I didn't want to completely prevent people from installing without any warning.
Comment #55
Jelle_SAh what a chance xD, thanks for the link ;-)
Comment #56
andypostProbably we could make it upper if sorting bug will be fixed https://bugs.php.net/bug.php?id=50688
This required for sorting configuration entities
Comment #57
catchLet's stick to the current issue.
Comment #58
catchLet's stick to the current issue.