Skip to content
This repository has been archived by the owner on Jan 8, 2020. It is now read-only.

Drop PHP 5.3 support #7095

Closed
Ocramius opened this issue Jan 3, 2015 · 57 comments
Closed

Drop PHP 5.3 support #7095

Ocramius opened this issue Jan 3, 2015 · 57 comments
Assignees
Milestone

Comments

@Ocramius
Copy link
Member

Ocramius commented Jan 3, 2015

There, I said it.

Why?

Because it's about time, and composer denies upgrades to versions that aren't supported by our own composer.json specification.

PHP 5.3 is not maintained as of 2014-08-15, and therefore we shouldn't have to deal with it anymore.

Some companies (hint hint) still support extra-LTS <=5.3 releases, but that's paid support, and we are not paid to do that.

Off with it's head: thoughts?

@localheinz
Copy link
Member

👍

Edit

While I'm totally sure it's doable to continue supporting PHP5.3, I'm not sure whether it's worth the effort. Personally, I've been working with PHP5.5 in production systems for over a year now, and I'm groaning when I hear arguments for why it's impossible to upgrade a production system from PHP5.4.

I fully agree with those who say that developers should push hard to make hosters update to more recent PHP versions, at least on this subject (also see http://phpversions.info by @philsturgeon).

@akrabat
Copy link
Contributor

akrabat commented Jan 3, 2015

+1

It will cause problems for some people on outdated LTS installs, but they are already on a version that's older than 5.23. If they have managed to get a more modern PHP 5.3 installed, then they should be able to install a more recent PHP too.

@Ocramius Ocramius added this to the 2.4.0 milestone Jan 3, 2015
@Ocramius
Copy link
Member Author

Ocramius commented Jan 3, 2015

Note: please don't just "+1" here.

I'm more interested in those who say that we should keep support, why, and what they can do for us in order to eventually keep support.

@asgrim
Copy link
Contributor

asgrim commented Jan 3, 2015

Dropping 5.3 is surely a BC break, shouldn't it wait until ZF3? For me personally I'm happy to move to 5.5 as we use that in production. Would ZF 2.3.* versions still receive updates/security fixes for 5.3 compatibility, and just have 2.4 be 5.5 on?

@Ocramius
Copy link
Member Author

Ocramius commented Jan 3, 2015

@asgrim it would be a BC break if it caused an upgrade to crash a system, but since we use composer to install packages nowadays, you simply cannot upgrade if requirements aren't met.

We still aren't changing API signatures.

@akrabat
Copy link
Contributor

akrabat commented Jan 3, 2015

We have updated the minimum PHP version number before in both ZF1 and ZF2. This is not unprecedented.

@philsturgeon
Copy link

Don't drag me into this. 

@gianarb
Copy link
Contributor

gianarb commented Jan 3, 2015

Composer is a good layer to notify this choice without crash of system.
If PHP not support 5.3 why should do it us?

@grizzm0
Copy link
Contributor

grizzm0 commented Jan 4, 2015

Is this the like button? 👍

@keradus
Copy link
Contributor

keradus commented Jan 6, 2015

Isn't drop of 5.3 version a BC break and should be targetted 3.x ?

@Ocramius
Copy link
Member Author

Ocramius commented Jan 6, 2015

As exposed earlier, users would be precluded from an upgrade upfront.
On Jan 6, 2015 1:53 PM, "Dariusz Rumiński" notifications@github.com wrote:

Shouldn't drop of 5.3 version is a BC break and should be targetted 3.x ?


Reply to this email directly or view it on GitHub
#7095 (comment).

@keradus
Copy link
Contributor

keradus commented Jan 6, 2015

But still it's a BC break, so if this project follow SEMVER it should be tagged as 3.0, isn't it?

btw, like the idea itself.

@asgrim
Copy link
Contributor

asgrim commented Jan 6, 2015

I don't seen any other real reason why 5.3 shouldn't be dropped. Would you baseline at 5.4 afterwards? There is only ~8 months left of 5.4 support, so perhaps the minimum version should be 5.5 to give 1y5m left of support?

@Ocramius
Copy link
Member Author

Ocramius commented Jan 6, 2015

It would be a BC break if we broke existing code. Projects bump
dependencies to external libraries (due to new APIs being used and so on)
all the time.

Depending on a higher PHP version seems reasonable to me in this case, as
we'd still maintain 2.2 and 2.3 for users locked in legacy hell.

That said, I realize that I am proposing a change that was never adopted by
any major framework so far.
On Jan 6, 2015 2:32 PM, "Dariusz Rumiński" notifications@github.com wrote:

But still it's a BC break, so if this project follow SEMVER it should be
tagged as 3.0, isn't it?

btw, like the idea itself.


Reply to this email directly or view it on GitHub
#7095 (comment).

@DASPRiD
Copy link
Member

DASPRiD commented Jan 6, 2015

Requiring PHP 5.5 doesn't seem necessary for the moment. With 5.4 we'd already gain traits and the short array syntax, which could both be used to improve ZF's codebase. Existing projects stuck on 5.3 should have no problem with this change, as they are usually already using everything they need from ZF, and would still receive security updates on their specific minor branch.

@asgrim
Copy link
Contributor

asgrim commented Jan 6, 2015

Surely, the motivation for dropping 5.3 is because it is not supported, then 5.4 will not be supported in 8 months, why not make the leap now? Otherwise (if 5.3 is dropped) this same discussion would happen again in 8 months. I suppose it depends how far you want to go. I don't know about other platforms, but the latest Ubuntu LTS has 5.5, so it's going to be easier to adapt of course than more recent version (5.6 and 7)

@DASPRiD
Copy link
Member

DASPRiD commented Jan 6, 2015

The question right now is if we'd actually use any of the 5.5 features. If we are not going to do so right now, it'd be pointless to require that version.

@Ocramius
Copy link
Member Author

Ocramius commented Jan 6, 2015

I think it is fair to re-discuss 5.4 when it is EOL also with security
issues
On Jan 6, 2015 2:55 PM, "James Titcumb" notifications@github.com wrote:

Surely, the motivation for dropping 5.3 is because it is not supported,
then 5.4 will not be supported in 8 months, why not make the leap now?
Otherwise (if 5.3 is dropped) this same discussion would happen again in 8
months. I suppose it depends how far you want to go. I don't know about
other platforms, but the latest Ubuntu LTS has 5.5, so it's going to be
easier to adapt of course than more recent version (5.6 and 7)


Reply to this email directly or view it on GitHub
#7095 (comment).

@keradus
Copy link
Contributor

keradus commented Jan 6, 2015

It would be a BC break if we broke existing code.

In fact it is a gateway to it.
If I download a stable 2.3 version for my 5.3 env and want to upgrade - I won't be able to do so.

I am totally for this change, just not at that version - can't it be marked as 3.x?

@DASPRiD
Copy link
Member

DASPRiD commented Jan 6, 2015

What difference would it make for you, naming wise?

@keradus
Copy link
Contributor

keradus commented Jan 6, 2015

As I said, it is a matter of following SEMVER or not.

@manuakasam
Copy link

As a developer I'd totally go for it. But at the end of the day I do not think that it would do ZF2 any good.

ZF2 is a brand name. Shutting down 5.3 support within ZF2 would make the following statement happen: "ZF2 does not support PHP 5.3". It does not matter if ZF2.3 still works awesome with 5.3 and only ZF2.4+ would break. ZF2 is the brand and that's what we're dealing with here.

(forgot to mention why that is bad: companies are still running 5.3 and upgrades of old systems are not always even possible. System infrastructure is heavily different at times. I know my old workplace likely can't update it's main server for quite a while.... they rely on 5.3 - they have to.)

If PHP Versions are dropped I would love to see php 5.5 as a minimum due to some incredible use-cases with generators and whatnot. But that would then have to be called ZF3.x.

So as said as it is, but ZF2.x without PHP 5.3 gets a 👎 from me :(

@carnage
Copy link
Contributor

carnage commented Jan 6, 2015

It's not a BC break: if you upgrade PHP to the minimum required version all existing code will work without changes.

@asgrim
Copy link
Contributor

asgrim commented Jan 6, 2015

Shutting down 5.3 support within ZF2 would make the following statement happen: "ZF2 does not support PHP 5.3"

I think that is a good statement to make ;) it is saying the opposite of what things like WP have done in the past...

@pauloelr
Copy link
Contributor

pauloelr commented Jan 6, 2015

I've been thinking about that and i was relutant to say what i'm going to say now, but i think is time to be said. I think right now the framework is stuck, and that's is mostly because of this kind of discussion, i undertand all the implications of change the major version of the framework, or split it into components (#7072) ou bump the minumim required PHP version to run it, i really do.

But many issues have been opened to deal with all those questions and all of it end up with the same result, more questions, so i think now is time to move foward to somewhere, of course mistakens can happen, and we (the entire community, even those who just use the framework) will be affected if the worng decision be taken, but i think worst of it is to keep stuck on the same place because of being afraid to make those mistakens. IMHO fear is the worst mistaken being made so far.

So doesn't matter if the framework will be called ZF 2.4, ZF 2.5 or ZF 3.0, if the minimum version will be 5.4, 5.5 or even 5.6, if the split happen now or later, there chances of error on all cenarios, errors that will only be discovered after the step being took, so please folks, lets just do something.

That being said, IMHO the minimum version should be 5.5, because we really need to push the community foward, if one major framework doesn't make it the users and host providers will have no reason to do, and we will keep moving in circles eternally.

The framework also need to be splitted as fast as it can be so people can start working on the splited version.

About the framework version number i don't really have an opinion but if change this to 3.0 is imperative to make this changes lets just do that.

@fabiocarneiro
Copy link
Contributor

IMO the framework from now on should be versionless. You can use Zend Framework with versioned components. If we use 3.0 name in it, and we get the split, we will probably never create a new 4.0 version, so it doesn't make much sense.

I agree with what @pauloelr said.

@Ocramius
Copy link
Member Author

Ocramius commented Jan 6, 2015

That is a discussion for #7072, and the framework will keep following semver (for the main package) anyway.

Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 12, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 12, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 12, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 12, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 12, 2015
@Thinkscape
Copy link
Member

@weierophinney

I'm relaying this back to my cohort at Zend, and hopefully we can have a decision quickly.

What was the response ?

Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
Ocramius added a commit to Ocramius/zf2 that referenced this issue Jan 13, 2015
@Thinkscape
Copy link
Member

@padraic I'd say it's not about compatibility but more about usability. It's easier to remember for humans that 2.4 => php 5.4 and maybe 2.5 => php 5.5. Not required, but welcomed.

Hmmm... also this: cakephp/cakephp#5602 (comment)

@weierophinney
Copy link
Member

We'll be supporting PHP 5.3 for ZF 2.4 -- which we will mark as a Long Term Support release; this way, developers who must stay on 5.3 know they have a supported version until they can upgrade.

After 2.4 is released, we will start supporting PHP 5.5 as the minimum required PHP version.

@carnage
Copy link
Contributor

carnage commented Jan 23, 2015

Can't we mark 2.3 as LTS and move forward with 2.4 on 5.4?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests