首页 >后端开发 >php教程 >为什么即使禁用了'always_populate_raw_post_data”,PHP 仍然填充'$HTTP_RAW_POST_DATA”?

为什么即使禁用了'always_populate_raw_post_data”,PHP 仍然填充'$HTTP_RAW_POST_DATA”?

Barbara Streisand
Barbara Streisand原创
2024-11-20 01:54:02950浏览

Why Does PHP Still Populate `$HTTP_RAW_POST_DATA` Even When `always_populate_raw_post_data` is Disabled?

PHP:了解有关 $HTTP_RAW_POST_DATA 的已弃用警告

尽管在 php.ini 中禁用了always_populate_raw_post_data 设置,您可能会遇到一条警告,指示$HTTP_RAW_POST_DATA 的填充已被弃用,并将在未来版本中将被删除。然而,进一步调查发现,对错误消息的解释是不正确的。

此问题的解决方案不在于通过将值设置为 -1 来忽略警告,而在于了解实际问题。即使当always_populate_raw_post_data设置为0时,变量$HTTP_RAW_POST_DATA也会在特定情况下填充。要完全禁用其填充,必须将其设置为-1。

如PHP RFC中所述,always_populate_raw_post_data设置现在接受三个值:

  • -1:防止人口$HTTP_RAW_POST_DATA。
  • 0:在特定条件下填充变量。
  • 1:始终填充变量。

通过将always_populate_raw_post_data设置为-1,不仅可以您避免了警告,但也有效地禁用了 $HTTP_RAW_POST_DATA 的填充,解决了根本问题。

以上是为什么即使禁用了'always_populate_raw_post_data”,PHP 仍然填充'$HTTP_RAW_POST_DATA”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn