Homec4science

Add a setup warning for "always_populate_raw_post_data"

Authored by epriestley <git@epriestley.com> on Aug 26 2016, 00:45.

Description

Add a setup warning for "always_populate_raw_post_data"

Summary:
Fixes T9235. When the stars align, PHP 5.6 or newer emits a deprecation warning on startup about "always_populate_raw_post_data" which occurs too early for us to intercept and can break responses by adding garbage to the output.

These settings appear to be sufficient:

always_populate_raw_post_data = 1
display_errors = 1
display_startup_errors = 1
error_reporting = -1

Then make a request with an unusual content type:

$ curl -X POST -H "Content-Type: application/json" -d "{foo: bar}" http://phabricator.example.com/

This triggers the warning:

<br />
<b>Deprecated</b>:  Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in <b>Unknown</b> on line <b>0</b><br />
<br />
...

To avoid this, just instruct administrators to set this value to "-1", which completely disables the feature and silences the warning.

Test Plan:

  • Reproduced this issue by following the instructions above.
  • Triggered the setup issue locally and read all the captivating prose:

{F1786911}

  • Made the configuration change it directed me to, saw the setup issue resolve.

Reviewers: jcox

Reviewed By: jcox

Maniphest Tasks: T9235

Differential Revision: https://secure.phabricator.com/D16454

Details

Committed
epriestley <git@epriestley.com>Aug 26 2016, 16:38
Pushed
aubortJan 31 2017, 17:16
Parents
rPH2b185daf7e87: Wrap long text in setup issues
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH72a03dc03e7d: Add a setup warning for "always_populate_raw_post_data" (authored by epriestley <git@epriestley.com>).Aug 26 2016, 16:38