当前位置: 首页 > 面试题库 >

关于不建议使用$ HTTP_RAW_POST_DATA的警告

袁轶
2023-03-14
问题内容

我切换到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

很好,我依靠一些不推荐使用的功能。除了 我不知道!

  1. 我从未在任何脚本中使用过此变量。老实说,我什至不知道它甚至存在。
  2. phpinfo()显示我已always_populate_raw_post_data设置为0(禁用)。那么发生了什么?

我不想通过将此值设置为-1来“避免警告”。这只会隐藏警告,而我仍将弃用配置。我想从HTTP_RAW_POST_DATA根本上解决问题,并且知道PHP为什么认为填充已打开。


问题答案:

事实证明,我对错误消息的理解是错误的。我会说它的单词选择能力很差。环顾四周,向我展示了其他人完全像我一样误解了该消息-请参阅PHPbug#66763。

完全无济于事之后,“这就是客户经理想要的方式。” 针对Mike的错误,Tyrael解释说,将其设置为“ -1”并不仅会使警告消失。它做 正确的事情
,也就是说,它完全禁用填充的罪魁祸首变量。事实证明,在某些情况下,将其设置为0 仍可 填充数据。谈论糟糕的设计!引用PHP
RFC

更改always_populate_raw_post_data INI设置以接受三个值,而不是两个。

  • -1:主人的行为;永远不要填充$ GLOBALS [HTTP_RAW_POST_DATA]
  • 0 /关闭/任何:BC行为(如果未注册content-type或请求方法不是POST,则填充)
  • 1 / on / yes / true:BC行为(始终填充$ GLOBALS [HTTP_RAW_POST_DATA])

因此,是的,将其设置为-1不仅可以避免警告(如消息所述),而且还 最终禁止 填充此变量,这正是我想要的。



 类似资料:
  • 问题内容: 我刚刚将项目更新为最新版本的Firebase Storage,现在收到警告:不建议使用downloadURL():使用StorageReference.downloadURLWithCompletion()获取当前的下载URL。 我看了看Firebase图片上传文档,但它仍然引用了现在使用的折旧价格。在下面的代码中,我将以字符串形式获取图像的下载URL。该代码有效,但由于已贬值,因此现

  • 我正在使用Java 8构建一个使用SpringBoot和SpringREST服务的API。我刚刚发现了Swagger API,现在我想让我的API与Swagger兼容。 据我所知,Swagger是一个记录您的APIS的工具,而且还提供了从规范(swagger.jsonv2中)生成客户端和服务器代码的功能,以及与您的API交互的漂亮Web界面。 现在,我想要一些关于如何继续的建议,因为我已经有了一个

  • 我是dynamodb的新手,我只有10个项目和1个全局二级索引,读/写容量单位为5(最小),花费大约6/2天,这对我来说是不可接受的,因为我只使用了我实际需求的0.01%,我已经阅读了aws dynamodb价格降低中的一些文档,对我没有帮助,因为aws建议使用查询或扫描来避免突然的峰值读取,单独使用分区键无法获取多个项。 下表 添加\u员工 添加库存 添加\u供应商 上表都有读/写容量单元1,每

  • 我写了以下代码: 代码的作用是,每次提交联系人表单时,它都会将页面的自定义值增加1。但我现在的问题是,我只希望在发送代码时使用一个特定的联系人表单来触发此代码,而不是所有的联系人表单(我在由CF7支持的站点中有一些联系人表单)。 我可以知道如何调整上述代码,使其仅在发送联系人表单(id='1000')时触发吗? 如果有人能帮忙,我将不胜感激,谢谢!

  • 我已经从github克隆了一个项目,在使用Thread添加包并运行之后,节点只显示一个警告: 以下软件包使用不建议使用的“rnpm”配置,该配置将从下一个版本开始停止工作 该节点立即关闭(在照片中)并且立即关闭。

  • 我正在将payUmoney与我的应用程序集成。对于9以上的android,默认情况下ClearTextTrafficAllowed=“false”。所以我得到了以下错误- 所以在network_secrity_config.xml我把它改成true如下 现在Android Studio的节目 现在将其设置为false安全吗?如果我不把它设为false。薪水不起作用。那么现在该怎么办呢?