$HTTP_RAW_POST_DATA is 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.


错误原因:$HTTP_RAW_POST_DATA函数即将被废弃,并且以后都不会再使用了,在低版本的php中是可以用的,从php5.6后就会有警告错误,php7后就废弃了

解决方式:

一、在php.ini文件里面修改always_populate_raw_post_data=-1,然后重启php服务即可。

二、将$GLOBALS['HTTP_RAW_POST_DATA']改成file_get_contents('php://input'); 


但是,现在很少人用HTTP_RAW_POST_DATA了,也就是说你的项目里面根本就没有用这个函数了,但是还是给你一个报错了,为什么还是报错呢?

原因就是always_populate_raw_post_data=0时php程序还是会自动加载这个函数(php本身设计的问题),所以还是会报错。

解决方式还是回归到一上面修改php.ini配置后重启php服务



评论/留言