为什么会出现Automatically populating $HTTP_RAW_POST_DATA is deprecated ...这个报错

PHP 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

php报错如上。

理论上错误原因:$HTTP_RAW_POST_DATA函数即将被废弃,不可以使用这个函数。

报错信息给了两种解决方案:

1.在php.ini里将always_populate_raw_post_data=-1来隐藏warning

2.将$HTTP_RAW_POST_DATA更换为php://input

不过好多人并不是因为用了$HTTP_RAW_POST_DATA这个函数才报错的。而是根本就没有用到这个函数,甚至不知道这个函数,php还是会给waring

那么问题究竟出在哪呢?

问题在于当你把always_populate_raw_post_data=0时,并没有真正意思的disable(php设计缺陷)。这个时候,还会自动加载到这个函数,所以会报错。

而且always_populate_raw_post_data=-1时,不仅仅时隐藏warning,而是真正意义上的disable always_populate_raw_post_data

always_populate_raw_post_data = -1

修改完php.ini后,需要重启php服务,修改方可生效。

重启方法:命令行输入 /etc/init.d/php-fpm restart

posted on   何苦->  阅读(651)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-09-21 mysql 根据json数据字段查询 显示json字段内容

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示