Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require PHP 5.5 as minimum version #5602

Closed
lorenzo opened this issue Jan 7, 2015 · 59 comments
Closed

Require PHP 5.5 as minimum version #5602

lorenzo opened this issue Jan 7, 2015 · 59 comments
Labels
Milestone

Comments

@lorenzo
Copy link
Member

lorenzo commented Jan 7, 2015

PHP 5.4 will receive no more support after June this year as version 5.5 was released almost 2 years ago. I'm not sure how the landscape of hosting providers will look like in 6 months, but I think we should start making a decision for the next milestone or two.

As an important decision factor, Symfony 3, which is due in October of this year, will also be requiring 5.5 as a minimum.

@lorenzo lorenzo added the RFC label Jan 7, 2015
@lorenzo lorenzo added this to the 3.1.0 milestone Jan 7, 2015
@sikker
Copy link

sikker commented Jan 7, 2015

There was a ticket a while back about not hard-requiring ext-intl (and
suggesting symfony/intl as a fallback on the install page) to support
shitty 5.4 hosts. I don't really know how that all went, but just in case
that went through I'm mentioning it that it may be reversed if 5.5 does
indeed become the minimum requirement.

On Wed, Jan 7, 2015 at 10:11 PM, José Lorenzo Rodríguez <
notifications@github.com> wrote:

PHP 5.4 will receive no more support after June this year as version 5.5
was released almost 2 years ago. I'm not sure how the landscape of hosting
providers will look like in 6 months, but I think we should start making a
decision for the next milestone or two.

As an important decision factor, Symfony 3, which is due in October of
this year, will also be requiring 5.5 as a minimum.


Reply to this email directly or view it on GitHub
#5602.

@dereuromark
Copy link
Member

+1 for raising it to PHP5.5 with 3.1 or 3.2 (not 3.0!). It's time CakePHP is not left behind ever again but instead plays a key role again in cutting edge PHP framework technology.

@thaJeztah
Copy link

+1 for PHP 5.5. Although some of our servers are still on PHP 5.4, we need to push things forward, otherwise we're stuck with 5.4 until CakePHP 4.

^^ perhaps a roadmap should be created, stating up front that CakePHP 3.x will no longer support a specific version of PHP, based on the PHP end of support dates; http://php.net/supported-versions.php

@markstory
Copy link
Member

Going to PHP5.5 as a recommended minimum makes sense to me. Currently the code is still compatible with 5.4, which is something I think is worth keeping as that is what we have very broadly communicated. It will feel like a bit of bait and switch if we suddenly start requiring php5.5 now.

@lorenzo
Copy link
Member Author

lorenzo commented Jan 7, 2015

@markstory I meant for one of the next point releases, 3.0.x should definitely still support 5.4

@thaJeztah
Copy link

Fwiw, I'm fine with 5.4 for 3.0.x, as long as the option stays open to change the requirements for 3.x ( and we're not stuck until Cake 4) 😄

@bcrowe
Copy link
Contributor

bcrowe commented Jan 7, 2015

If anyone is curious about the PHP's shared-hosting/PaaS support landscape, this is a new thing to check out: http://phpversions.info/

@thaJeztah
Copy link

Interesting list. It really is a chicken and egg situation; providers don't upgrade in fear of breaking client's websites, clients don't upgrade their code because the provider doesn't yet support it.

Seriously though, providers offering 5.2/5.3 as a default? As a custom option, ok, fair, but as default. That's ridiculous. Feels like Internet Explorer 6 all over again.

@andretefras
Copy link
Member

+1 for PHP 5.5 as minimum requirement for the next version update, ex 3.1. Due the proximity of the 3.0 stable release. @bcrowe pointed something important. I feel a little bit worried about shared hosting companies implementation speed and how it can harm less advanced PHP / CakePHP developers reducing its range of tools.

@thaJeztah
Copy link

@andtxr there's still Cake 2.x for the time being. IMO if a provider only offers an insecure, un-maintained hosting package, it's time to switch provider.

@dereuromark
Copy link
Member

@andtxr The CakePHP min. requirements so far, as probably well in the future, mainly rather aline with the EOL times of each PHP version (kind of the "absolute minimum") and not the newest ones. (Shared) hosting companies that cannot comply with that should not be in business IMO - not only for security reasons (EOL also means no security patches anymore for those PHP versions).
It is worth spending a few bucks more per month to have at least that minimum requirement. It's really not that hard :)

@markstory
Copy link
Member

While we could bump the minimum required PHP version to 5.5.x, I don't think we could start to use new PHP5.5 features without bumping to 4.x, as it wouldn't be a backwards compatible upgrade. With that said I don't think there is any need for a future 4.x release to be remotely as large as 3.0 is.

@jrbasso
Copy link
Member

jrbasso commented Jan 8, 2015

I like the idea of having 5.5 as our base, but I would say to do that in a
4.0 release for few reasons:

  • it is a major change, so we should change the major number of the version
  • historically in cake all x.y releases maintain the same php version on
    the x (Ie, 1.x keep php 4+, 2.x php 5.2+). 3.x should follow the same
  • based on the previous argument, we usually don't break backward
    compatibility between minor versions. Changing php version breaks BC.
  • I don't see any problem creating 4.0 from 3.0 or eventually 3.1 and
    freezing 3.x releases. It means 4.0 will be the latest 3.x with support to
    php 5.5 and no more 3.(x+1)
  • what is the problem bumping major versions?! Chrome is younger than cake
    and it is on major version 39.

@bcrowe
Copy link
Contributor

bcrowe commented Jan 8, 2015

I'm on board the 4.x train as well. Version numbers are cheap. We can certainly be a bit more breezy with major versions going into the future. Bump major versions for long-needed API breaks and minimum PHP requirements, rather than having a major version implore a framework overhaul.

@markstory
Copy link
Member

We can always skip releases like PHP or Windows when we want to overhaul big features in the future.

@bcrowe
Copy link
Contributor

bcrowe commented Jan 8, 2015

@markstory :trollface: Well played. 👏

@josegonzalez
Copy link
Member

Fine, PHP 7 for next release? :P

@thaJeztah
Copy link

Next release will CakePHP 360? Or CakePHP Vista 😄

@dakota
Copy link
Member

dakota commented Jan 8, 2015

@thaJeztah No, next version will be CakePHP Black Forest, or Lemon Cheese CakePHP

I'm 👍 for the next release being 5.5+ (Whether that is 3.1, or 4.0 doesn't matter too much to me)

@thaJeztah
Copy link

+1 on recomending PHP 5.5/5.6 now (for best practice and performance) and requiring 5.4 as minimum for CakePHP 3.0.x

@ravage84
Copy link
Member

ravage84 commented Jan 8, 2015

I like @dereuromark's idea that CakePHP's minimun requirement should align with PHP's EOL dates.

  • PHP 5.4 supported until September 2015
  • PHP 5.5 supported until June 2016
  • PHP 5.6 supported until August 2017

How about we "deprecate" the support every time over at least two minor releases (still aligned to PHP's EOL dates by + 6 months)?

This could loiok like this, for example:

  • CakePHP 3.0 minum: 5.4, recommended 5.4
  • CakePHP 3.1 minimum 5.4, recommended 5.5
  • CakePHP 3.2 minimum 5.5, recommended 5.5 (e.g. 6 month after 5.4 EOL)
  • CakePHP 3.3 minimum 5.5, recommended 5.6
  • CakePHP 3.4 minimum 5.6, recommended 5.6 (e.g. 6 month 5.5 EOL)
  • CakePHP 3.5 minimum 5.6, recommended 5.6
  • CakePHP 4.0 minimum 7.0, recommended 7.0 (major releases are freed from this rule)

In any way, we should
a) plan this now
b) communicate it as early as possible and
c) stay true to this plan.

People using CakePHP should be able to understand the supported PHP version roadmap and should be able to plan accordingly. One thing we don't want is them loosing trust into CakePHP because they can't plan with it.

As a framework we should go forward and be an example when it comes to good practices. And supporting an EOLed PHP version for the sake of "not leaving anybody behind" is not a good reason enough.

http://blog.ircmaxell.com/2014/12/on-php-version-requirements.html

Yes not supprting an EOLed PHP version in a minior CakePHP release could mean some people can't upgrade to the next minor 3.x release. But it does not have to mean we have to include any API breaking changes. So we still stay true to the SemVer rule

MAJOR version when you make incompatible API changes,

And last but not least, yes version numbers are cheap but that does not mean we should play along in this ridiculous numbers game. And I would not trust a framework that does so. Also, a web application framework is no end user client application.
That does not mean we should wait years for the next major CakePHP version, but please be reasonable and keep a major release alive at least two years or something like that... Again, people want to have some planning certainty with a CakePHP version.

@thaJeztah
Copy link

@ravage84 +100. I think your post exactly echoes my thoughts! One "nit"; why not recommend PHP 5.5/5.6 already with 3.0? Recommending something shouldn't be a problem right?

@ceeram
Copy link
Contributor

ceeram commented Jan 8, 2015

I am +1 on moving to 5.5 in a minor release. FWIW you can up php version
requirements without breaking semver.
Also people having require for cakephp as ~3.0 which would pull in all
bugfix and minor releases would not break their application when running
composer update. It simply will not install the minor cakephp release due
to missing requirement.

2015-01-08 13:02 GMT+01:00 Sebastiaan van Stijn notifications@github.com:

@ravage84 https://github.com/ravage84 +100. I think your post exactly
echoes my thoughts! One "nit"; why not recommend PHP 5.5/5.6 already
with 3.0? Recommending something shouldn't be a problem right?


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

@ionas
Copy link
Contributor

ionas commented Jan 11, 2015

I think 5.5 for 3.1 is pretty sane.

@markstory
Copy link
Member

I did somw more thinking and reading (including zendframework/zendframework#7095). Going to 5.5 for 3.1 or 3.2 is reasonable given we don't break any existing public APIs.

@burzum
Copy link
Contributor

burzum commented Jan 13, 2015

I agree with @markstory, if we've moving it up to 5.5 we should already start communicating this now in form of a comment in the roadmap or something and already put it in the 3.0 release notes or something.

@ionas
Copy link
Contributor

ionas commented Jan 13, 2015

Required: 5.4.x
Recommended: 5.5.x
?

@markstory
Copy link
Member

@burzum I have added a wiki page for 3.1 and will update the issue milestone as well.

@rchavik
Copy link
Member

rchavik commented Mar 28, 2015

Why not just bump-up to 4.x with PHP 5.5?

@ionas
Copy link
Contributor

ionas commented Mar 28, 2015

@rchavik my concern is if there are features in 5.5 or 5.6 that the core developers, especially ORM wants to use, I want to see them being used and not being delayed because of platform concerns. At the same time I loved how cakes major versions were historically supported for very long. If you just bump the version to 4.x BECAUSE of 5.5 this long term major version scheme will be broken. And then I don't see an increase in a required PHP version as an issue at all.

@ADmad
Copy link
Member

ADmad commented Jun 17, 2015

Given that PHP 7 alpha 1 is already out we should be at least thinking of 5.6 not 5.5.

@dereuromark
Copy link
Member

I agree, most "useful" OS like debian8 are also already shipped with PHP5.6 by default as of now. No one can complain he cannot run it unless he has a crappy provider.

@dakota
Copy link
Member

dakota commented Jun 17, 2015

Unfortunately most CakePHP (PHP in general) developers are using crappy providers and are not willing to switch, even if there are better providers for more or less the same cost.

@ADmad
Copy link
Member

ADmad commented Jun 17, 2015

Not surprisingly even on centos 7 you need to use external repos to get php 5.6.

That said we won't bump the version till at least 3.2 which i think is at least 6 months away. So those who don't have php 5.6 can just use cake 3.1 :)

@burzum
Copy link
Contributor

burzum commented Jun 17, 2015

@dakota I'm always for not going on bleeding edge versions because especially the big business moves slowly and prefers stability over fancy new versions. So do I as well.

But on the other side I don't see a reason to stick to 5.4 or 5.5 just because of some crappy developers or companies. It's not like 5.6 is a brand new version that was just released yesterday. The framework should keep an eye on being recognized as a professional tool for big enterprise class projects and not as a toy for some crappy devs. Actually I'm pretty amused how the usual suspects struggle with 3.0 because it applies more "advanced" concepts. 😛

Announce now that Cake will go for 5.6 in roughly X month and people will have time to cry and update.

@ADmad what's wrong with using external repos or compile it yourself? That's normal and expected when using Linux, at least for me (and a reason why I don't like it). So I would expect people to know how to do it. On windows I just downloaded php7 alpha extracted it and configured it's php.ini - was a 5 minute job.

@ADmad
Copy link
Member

ADmad commented Jun 17, 2015

what's wrong with using external repos or compile it yourself?

Nothing, expect many web hosting providers might not. You are missing the point here. The issue is crappy webhosts not a server you control yourself. In which case one should just debian instead of centos :)

@burzum
Copy link
Contributor

burzum commented Jun 17, 2015

We could provide a list of cheap providers that offer 5.6 for example. I'm paying incredible expensive $4/month for my VPS (https://www.vpscheap.net). A good but cheap host (https://ssl.planet-hosting.de) offers you webspace and php 5.6 for insane 1.49€/month. Seriously, I have to be rich to afford them!

If people want something cheaper screw them if it doesn't support 5.6. We could provide a list of providers that support 5.6. Or maybe we can make a deal with a provider and just recommend that one?

Don't get stuck just because people want to stick with their crappy host, there are in fact cheap providers that support 5.6. If they're to lazy to make the move to a provider that supports it it's not our fault.

Other frameworks current versions require these php versions by the way:

@ADmad
Copy link
Member

ADmad commented Jun 17, 2015

Yii 5.1.0

Classy :)

@lorenzo
Copy link
Member Author

lorenzo commented Jun 17, 2015

@burzum
Copy link
Contributor

burzum commented Jun 17, 2015

@lorenzo Thanks, don't know from where I picked 5.1 up then... I've updated my previous post and linked the composer file.

@markstory
Copy link
Member

what's wrong with using external repos or compile it yourself? That's normal and expected when using Linux, at least for me

I know that many big company IT departments won't use external package repos and will only pull in from suse's central repos for example. I know our friends at the dutch government had this exact issue.

@ADmad
Copy link
Member

ADmad commented Jul 11, 2015

Those who can't strong arm their IT departments to upgrade can always keep using older cake version 😄 Until now we have done a decent job providing fixes for any significant issues for older versions.

@kevinquinnyo
Copy link

As someone who works in the web hosting industry, my opinion is that this is really only a problem in shared hosting environments, which are dying out in favor of virtualization, containers, and cloud solutions. There are even turn-key chroot-type solutions like cagefs/php-selector to run multiple php versions on a shared server these days, so the incompatibility issue is not as big as it used to be. I also think web frameworks like Wordpress to a very large extent, and to a lesser extent frameworks like CakePHP and Laravel are actually pretty big drivers in moving the community toward new versions of php (which is a good thing). Just my two cents if it's worth that.

@htstudios
Copy link
Contributor

I am using shared managed hosting for my small clients and 5.5/5.6 is no issue. The bigger clients run debian or red hat no prob and can basically decide what to use So 👍

If there is need to make stuff easier for newbies there are other ways like virtual appliances, better cake bake styles, crud, web installers, prefixes working for bake and orm, cakeschool, etcetc.

@sebastienbarre
Copy link
Contributor

Guys, sorry to piggy back on this thread, but could somebody tell me if the latest Cake 2.x (say 2.7) is fully compatible with PHP7? I saw somewhere that all 3.x tests were passing with PHP7, but couldn't find a similar statement for 2.x. Thanks.

@tanuck
Copy link

tanuck commented Oct 28, 2015

@sebastienbarre When I last tested it, which was around 6 weeks ago, 2.7 still had failing tests on php7. Compile one of the latest php7 release candidates and run the cake core test suite with it. Should give you a more up to date answer.

Regards

@sebastienbarre
Copy link
Contributor

Thanks. I ultimately found the Continuous Integration page. Seems only 3.x is tested again PHP7. From the branches page I see 2.x is tested against PHP 5.3 to 5.6 (see, for example, this build). Would you guys (@markstory?) consider adding PHP7, which might be released soon (Nov 12)?

@dereuromark
Copy link
Member

@sebastienbarre You could just add PHP7 yourself in your branch and see what happens when you let CI run.

@sebastienbarre
Copy link
Contributor

@tanuck @dereuromark ok, will slowly get through it, see #7671 ; thanks.

@lorenzo
Copy link
Member Author

lorenzo commented Dec 6, 2015

Closing as this was decided as implemented already

@lorenzo lorenzo closed this as completed Dec 6, 2015
@shridhar-patil
Copy link

Going to 5.5 is good but I had a situation where my client asked me to create cakephp 3.0 datasource for sql anywhere 16 . Sqlanywhere does not have support for php 5.5, everything for the project just got stuck

@burzum
Copy link
Contributor

burzum commented Oct 31, 2016

@shridhar-patil a really quick search on Google shows that the sources for 5.4, 5.5 and 5.6 are available. Download them and compile the php module.

@dereuromark
Copy link
Member

dereuromark commented Oct 31, 2016

But that is an Sqlanywhere (or any tool for that matter) issue, not a framework one.
Please consult with them and make sure they fix their things.

It is (IMO) inacceptable for such a tool - if still under development - not to provide current PHP support.
It is even vital for security, as PHP 5.4 is already EOL for a long time and should not be used anymore anywhere, that includes your current production servers for the status quo app.
See http://php.net/supported-versions.php - even 5.5 should at this point not be used anymore for obvious reasons.
Maybe that tool is then not the right one if they do not care enough to support PHP5.6+ in a reasonable time-frame. Usually the changes involved are rather minor, especially inside the same major PHP version.

@inoas
Copy link
Contributor

inoas commented Oct 31, 2016

@shridhar-patil just pickup 3.0 or 3.1 branch then. Getting proper hosting is not a problem, usually.

@shridhar-patil
Copy link

shridhar-patil commented Oct 31, 2016

I just want to connect sqlanywhere 16 from php 5.5 and once I am connected I will write the cakephp 3.x sybase datasource for my client , hosting is not a problem for me . I have also put mail to sybase regarding this , have not had any feedback yet from last 3 months

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

No branches or pull requests