【发布时间】:2014-12-03 08:31:53
【问题描述】:
我切换到 PHP 5.6.0,现在到处都收到以下警告:
Deprecated: 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 Unknown on line 0
Warning: Cannot modify header information - headers already sent in Unknown on line 0
好的,我依赖于一些已弃用的功能。除了我没有!
- 我从来没有在我的任何脚本中使用过这个变量。老实说,我什至不知道它的存在。
-
phpinfo()表明我已将always_populate_raw_post_data设置为 0(禁用)。那到底是怎么回事?
我不想通过将此值设置为 -1 来“避免警告”。这只会隐藏警告,我仍然会有弃用的配置。我想从源头解决问题,并知道为什么 PHP 认为 HTTP_RAW_POST_DATA 填充已打开。
【问题讨论】:
-
同样的问题,但可能的原因/解决方案不同:stackoverflow.com/questions/25984623/…
-
在 PHP >= 5.6 上运行 PHP SoapServer 的 handle() 时,这个警告给我带来了麻烦。此警告将始终在 SOAP 的响应中输出,因此 SoapClient 的 __soapCall() 将获得“SoapFault 异常:[Client] 看起来我们没有 XML 文档”异常。很难调试,因为这个警告通常不会出现。
标签: php configuration migration