Skip to content

Remove HHVM support #22758

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

Merged
merged 2 commits into from
Jun 1, 2017
Merged

Remove HHVM support #22758

merged 2 commits into from
Jun 1, 2017

Conversation

fabpot
Copy link
Member

@fabpot fabpot commented May 18, 2017

Q A
Branch? master
Bug fix? no
New feature? no
BC breaks? yes-ish (for HHVM users)
Deprecations? no
Tests pass? yes
Fixed tickets n/a
License MIT
Doc PR n/a

@@ -36,7 +36,7 @@ public static function castClosure(\Closure $c, array $a, Stub $stub, $isNested,
$prefix = Caster::PREFIX_VIRTUAL;
$c = new \ReflectionFunction($c);

$stub->class = 'Closure'; // HHVM generates unique class names for closures
$stub->class = 'Closure';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The line itself can be removed

@@ -46,7 +46,7 @@ public function testGet()
$intMax = PHP_INT_MAX;
$res = (int) $var['res'];

$r = defined('HHVM_VERSION') ? '' : '#%d';
$r = '#%d';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can be inlined

stof
stof previously requested changes May 18, 2017
@@ -46,7 +46,7 @@ public function testGet()
$intMax = PHP_INT_MAX;
$res = (int) $var['res'];

$r = defined('HHVM_VERSION') ? '' : '#%d';
$r = '#%d';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would put it directly in the string instead of using a variable, as it does not change anymore

@@ -325,7 +321,7 @@ public function testThrowingCaster()
$dumper->dump($data, $out);
$out = stream_get_contents($out, -1, 0);

$r = defined('HHVM_VERSION') ? '' : '#%d';
$r = '#%d';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

@@ -384,7 +380,7 @@ public function testRefsInProperties()
$data = $cloner->cloneVar($var);
$out = $dumper->dump($data, true);

$r = defined('HHVM_VERSION') ? '' : '#%d';
$r = '#%d';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

@@ -47,7 +47,7 @@ public function testGet()
$dumpId = $dumpId[0];
$res = (int) $var['res'];

$r = defined('HHVM_VERSION') ? '' : '<a class=sf-dump-ref>#%d</a>';
$r = '<a class=sf-dump-ref>#%d</a>';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

@fabpot fabpot force-pushed the hhvm-support-removal branch 4 times, most recently from eef1f42 to 1972250 Compare May 18, 2017 18:13
@ro0NL
Copy link
Contributor

ro0NL commented May 19, 2017

There are many more occurrences right? Or is it work in progress :)

@nicolas-grekas nicolas-grekas added this to the 4.0 milestone May 19, 2017
@fabpot fabpot force-pushed the hhvm-support-removal branch from 1972250 to 3281ccb Compare May 19, 2017 12:34
// Shared memory is available in PHP 7.0+ with OPCache enabled and in HHVM
if ((PHP_VERSION_ID >= 70000 && ini_get('opcache.enable')) || defined('HHVM_VERSION')) {
// Shared memory is available in PHP 7.0+ with OPCache enabled
if (PHP_VERSION_ID >= 70000 && ini_get('opcache.enable')) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PHP Version check can also be removed as PHP 7.1 is now the minimum.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not in this PR though, to make the changelog and the patch consistent

EOF
.$strictTypes,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should keep the comma.

@flip111
Copy link
Contributor

flip111 commented May 22, 2017

Already many people switch their infrastructure to HHVM this PR will complicate working with symfony for them.

@xabbuh
Copy link
Member

xabbuh commented May 22, 2017

Are the really people switching from PHP 7 to HHVM (or from PHP 5 to HHVM instead of PHP 7)?

@javiereguiluz
Copy link
Member

@flip111 I'm sorry but the evidence we have (including Composer's own stats abut PHP usage) shows that almost nobody is using HHVM.

@flip111
Copy link
Contributor

flip111 commented May 22, 2017

People were switching to HHVM before PHP 7 was a thing. Since removing functionality (support for an alternative platform) is a big thing i had at least expected to see something positive here on the tradeoff.

@nicolas-grekas
Copy link
Member

nicolas-grekas commented May 22, 2017

@flip111 see also #22765. The thing is, since things do not happen by magic, HHVM support needs someone to care about it. Here, nobody cared nor made it to work on a PHP 7.1 code base. Unless you want to do the job, it looks like nobody did in the last months, if not years.

@flip111
Copy link
Contributor

flip111 commented May 22, 2017

@nicolas-grekas fair enough, would have been nice to have in the PR description something like "hhvm support was not properly maintained for months, removing to reduce the burdon of maintaining this code. [User statistics](link) show that hhvm was hardly used.". This is not obvious to know before i asked about it.

@derrabus
Copy link
Member

So, if HHVM support is being removed from master, that means it'll stay around for Symfony 3.4 LTS which is going to be maintained until November 2020, am I right? So, I'd say HHVM/Symfony projects are safe for another 3.5 years.

Within those 3.5 years, those projects could be migrated away from HHVM (or Symfony if you like) or HHVM maybe manages to get their compatibility issues under control.

And Symfony is going to be your least problem. Other libraries that go php-7-only will be running into similar trouble and most of the have shorter maintenance periods than Symfony does.

Anyway, maybe the drop of HHVM should be announced in a blog article with some explanation to avoid confusion.

@nicolas-grekas
Copy link
Member

@derrabus 💯

@stof
Copy link
Member

stof commented May 22, 2017

I agree with the fact we should write a blog post about this /cc @javiereguiluz

@@ -20,11 +20,4 @@
*/
abstract class ServerCommand extends Command
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this class should be tagged internal

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't it be removed (and marked deprecated in 3.x) instead? It doesn't really serve a purpose anymore, does it?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could still me marked internal in 3.3 right? and so removable in 4.0 :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it has been added in 3.3, so we should act NOW

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my point :) deprecation way seems tedious.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@fabpot fabpot force-pushed the hhvm-support-removal branch from 26045cb to bdf9da0 Compare May 23, 2017 05:52
@fabpot
Copy link
Member Author

fabpot commented May 23, 2017

I'm going to write a blog post about this.

@fabpot
Copy link
Member Author

fabpot commented May 23, 2017

See http://symfony.com/blog/symfony-4-end-of-hhvm-support for the blog post

@fabpot fabpot force-pushed the hhvm-support-removal branch from bdf9da0 to 02588ad Compare May 23, 2017 10:05
fabpot added a commit that referenced this pull request May 23, 2017
…s-grekas)

This PR was merged into the 3.3 branch.

Discussion
----------

[WebServerBundle] Mark ServerCommand as internal

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #22758 (comment)
| License       | MIT
| Doc PR        | -

Commits
-------

c91d195 [WebServerBundle] Mark ServerCommand as internal
@fabpot fabpot force-pushed the hhvm-support-removal branch from bdf9da0 to 35569df Compare June 1, 2017 21:06
@fabpot fabpot force-pushed the hhvm-support-removal branch from 35569df to 2125437 Compare June 1, 2017 22:18
@fabpot fabpot merged commit 2125437 into symfony:master Jun 1, 2017
fabpot added a commit that referenced this pull request Jun 1, 2017
This PR was squashed before being merged into the 4.0-dev branch (closes #22758).

Discussion
----------

Remove HHVM support

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes-ish (for HHVM users)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Commits
-------

2125437 [WebServerBundle] removed obsolete ServerCommand abstract class
ad1f35f removed HHVM support
Nek- added a commit to Nek-/symfony that referenced this pull request Jun 17, 2017
This PR removes HHVM compatiblity following symfony#22758
It also removes some unneeded comments
Nek- added a commit to Nek-/symfony that referenced this pull request Jun 17, 2017
This PR removes HHVM compatiblity following symfony#22758
It also removes some unneeded comments
nicolas-grekas added a commit that referenced this pull request Jul 3, 2017
This PR was squashed before being merged into the 4.0-dev branch (closes #23216).

Discussion
----------

Remove HHVM support (second edition)

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | none
| License       | MIT
| Doc PR        | not needed

This PR removes HHVM compatiblity following #22758 as some things were missing. It also removes some useless comments.

Commits
-------

471b84c Remove HHVM support (second edition)
@fabpot fabpot deleted the hhvm-support-removal branch September 11, 2017 18:18
@fabpot fabpot mentioned this pull request Oct 19, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.