On 20 October 2014 05:48:04 GMT+01:00, Davey Shafik <da...@php.net> wrote:
>Hey folks,
>
>A thread on reddit (here:
>https://www.reddit.com/r/PHP/comments/2jpzzj/php_56_throws_e_deprecated_by_default_for_no/)
>noted that in 5.6 there is an E_DEPRECATED thrown if
>"always_populate_raw_post_data" is set to anything but -1
>
>There is an issue in that the default value is 0 (see:
>http://lxr.php.net/xref/PHP_5_6/main/main.c#641 I believe).
>
>This means that the E_DEPRECATED is always thrown in the default case,
>and
>if you've never cared about this setting, and don't use it, you may now
>be
>seeing an unnecessary warning.
>
>I'd like to set the default to -1.
>
>The php.ini-* files state:
>
>; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default
>behavior
>is
>; to disable this feature and it will be removed in a future version.
>; If post reading is disabled through enable_post_data_reading,
>; $HTTP_RAW_POST_DATA is *NOT* populated.
>; http://php.net/always-populate-raw-post-data
>;always_populate_raw_post_data = -1
>
>Being as the current default is not to populate it, and (currently) -1
>has
>the same affect and also suppresses the E_DEPRECATED, I don't think
>this
>change is a BC issue.
>
>The other option is to only throw the E_DEPRECATED when it's set to 1
>(as
>you are actively trying to use the feature).
>
>Thoughts?
>
>Thanks,
>
>- Davey

I remember there being a fair amount of back and forth about this on the list 
when the change was made.

The problem is that people who have it set to 0/false - either explicitly, or 
because they've never touched the default value - may still be relying on 
$HTTP_RAW_POST_DATA, since the default is basically for it to be populated 
whenever $_POST isn't.

Until 5.6, there were a handful of situations where php://input didn't work as 
desired, but with these resolved, the idea is to encourage everyone to avoid 
$HTTP_RAW_POST_DATA completely, and actively set their configuration to never 
populate it. 

So, messy though it is to have the default be deprecated, that is actually a 
deliberate intention. Distributors can of course include php.ini files which 
set this to -1 for new users.

Regards,
-- 
Rowan Collins
[IMSoP]


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to