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

[HttpFoundation] work around PHP 7.3 bug related to json_encode() #31860

Merged
merged 1 commit into from Jun 5, 2019

Conversation

Projects
None yet
4 participants
@nicolas-grekas
Copy link
Member

commented Jun 4, 2019

Q A
Branch? 3.4
Bug fix? yes
New feature? no
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets #31447
License MIT
Doc PR -

I know, this doesn't make any sense.
json_encode embeds global state behind the scene :(

For reference, I asked on php-internals what they think about this:
https://externals.io/message/105653#105838

@fabpot

fabpot approved these changes Jun 5, 2019

@fabpot

This comment has been minimized.

Copy link
Member

commented Jun 5, 2019

Thank you @nicolas-grekas.

@fabpot fabpot merged commit e6e6301 into symfony:3.4 Jun 5, 2019

3 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
fabbot.io Your code looks good.
Details

fabpot added a commit that referenced this pull request Jun 5, 2019

bug #31860 [HttpFoundation] work around PHP 7.3 bug related to json_e…
…ncode() (nicolas-grekas)

This PR was merged into the 3.4 branch.

Discussion
----------

[HttpFoundation] work around PHP 7.3 bug related to json_encode()

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #31447
| License       | MIT
| Doc PR        | -

I know, this doesn't make any sense.
`json_encode` embeds global state behind the scene :(

For reference, I asked on php-internals what they think about this:
https://externals.io/message/105653#105838

Commits
-------

e6e6301 [HttpFoundation] work around PHP 7.3 bug related to json_encode()

fabpot added a commit that referenced this pull request Jun 5, 2019

bug #31861 [HttpClient] work around PHP 7.3 bug related to json_encod…
…e() (nicolas-grekas)

This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] work around PHP 7.3 bug related to json_encode()

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

This is the remaining of ##31860 for upper branches.

Commits
-------

42904e3 [HttpClient] work around PHP 7.3 bug related to json_encode()
@lt

This comment has been minimized.

Copy link

commented Jun 5, 2019

@nicolas-grekas I don't think forcibly resetting the error state is the right solution here.

Andrea's response on the internals thread states that the original intent was to keep the two error handling mechanisms separate.

Bearing this in mind I think the correct solution is to skip the json_last_error check when JSON_THROW_ON_ERROR is set in the flags rather than performing a "last error reset"

@nicolas-grekas nicolas-grekas deleted the nicolas-grekas:json-34 branch Jun 5, 2019

@nicolas-grekas

This comment has been minimized.

Copy link
Member Author

commented Jun 5, 2019

@lt thanks for the review, now I understand better :) WDYT of #31869?

fabpot added a commit that referenced this pull request Jun 5, 2019

bug #31869 Fix json-encoding when JSON_THROW_ON_ERROR is used (nicola…
…s-grekas)

This PR was merged into the 3.4 branch.

Discussion
----------

Fix json-encoding when JSON_THROW_ON_ERROR is used

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

As hinted in #31860 by @lt

Commits
-------

d18f42c Fix json-encoding when JSON_THROW_ON_ERROR is used

@fabpot fabpot referenced this pull request Jun 6, 2019

Merged

Release v4.3.1 #31901

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.