Closed (fixed)
Project:
Drupal core
Version:
8.0.x-dev
Component:
base system
Priority:
Major
Category:
Bug report
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
14 Sep 2009 at 02:34 UTC
Updated:
29 Jul 2014 at 18:28 UTC
Jump to comment: Most recent file
Comments
Comment #1
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 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 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 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
gotoin it gets a cookie.Comment #8
robloachGood ol' comment module not protecting from issue status changes.
Comment #9
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 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 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 commentedRemember:
gotoshould only be used as abreakto a labelled destination. ;-)Comment #14
droplet commented2012 is the end of the world, we have to try it and release D8, LOL
Comment #15
tmuras commented+1 for PHP 5.3 only and D8
@mfer I can look at the patch
Comment #16
robloachComment #17
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 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 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 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 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 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 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 commentedI think I can handle that :-)
Comment #26
Crell commentedTest bot approved!
Comment #27
dries commentedThis is a good one to have. Committed to 8.x.
Comment #28
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 commentedI'm on it
Comment #31
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 commentedforgot patch
Comment #33
aspilicious commentedComment #35
aspilicious commentedLets try again
Comment #36
amateescu commentedShouldn't we use
DRUPAL_MINIMUM_PHPhere?Something like:
Powered by Dreditor.
Comment #37
jbrown commentedDRUPAL_MINIMUM_PHP isn't available that early.
Comment #38
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 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 commentedPatch looks good on a visual review (I haven't tested it though). One minor typo:
Should be "explicitly".
Comment #44
jbrown commentedComment #45
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 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.