Page MenuHomePhabricator

Add a setup warning for "always_populate_raw_post_data"
ClosedPublic

Authored by epriestley on Aug 25 2016, 10:49 PM.
Tags
None
Referenced Files
F15960751: D16454.diff
Tue, Jun 3, 10:15 AM
Unknown Object (File)
Fri, May 30, 12:25 AM
Unknown Object (File)
Wed, May 28, 10:39 PM
Unknown Object (File)
Wed, May 28, 12:19 AM
Unknown Object (File)
Tue, May 27, 11:26 AM
Unknown Object (File)
Thu, May 8, 9:14 AM
Unknown Object (File)
Wed, May 7, 2:55 AM
Unknown Object (File)
May 3 2025, 9:51 AM
Subscribers
None

Details

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:

Screen Shot 2016-08-25 at 3.42.37 PM.png (1×1 px, 196 KB)

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

Diff Detail

Repository
rP Phabricator
Branch
raw_post_data
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 13456
Build 17296: Run Core Tests
Build 17295: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Add a setup warning for "always_populate_raw_post_data".
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: jcox.
jcox edited edge metadata.
This revision is now accepted and ready to land.Aug 26 2016, 1:28 PM
This revision was automatically updated to reflect the committed changes.