云服务器免费试用

为什么会出现Automatically populating $HTTP_RAW_POST_DATA is deprecated …错误

技术文档 0 546

php报错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

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

为什么会出现Automatically populating $HTTP_RAW_POST_DATA is deprecated …错误

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

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

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

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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 为什么会出现Automatically populating $HTTP_RAW_POST_DATA is deprecated …错误
本文地址: https://solustack.com/8168.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。