php报错日志:PHP Deprecated:Automatically populating $HTTP_RAW_POST_DATA is deprecated

Posted 散尽浮华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php报错日志:PHP Deprecated:Automatically populating $HTTP_RAW_POST_DATA is deprecated相关的知识,希望对你有一定的参考价值。

 

前几天将线上php服务升级到5.6.x版本后,php-error.log报出错误:
PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated

原因:
上面的报错意思是“自动变量$HTTP_RAW_POST_DATA已过时(deprecated)”
这个问题和PHP版本有关系,PHP5.6之后的高版本都已废弃了$HTTP_RAW_POST_DATA这个全局变量设置,可以使用 php://input 替代 $HTTP_RAW_POST_DATA。
使用always_populate_raw_post_data会导致在填充$HTTP_RAW_POST_DATA时产生E_DEPRECATED 错误。
设置always_populate_raw_post_data 为-1来体验新的行为,因为这样会强制 $HTTP_RAW_POST_DATA 未定义,所以也不会导致 E_DEPRECATED的错误) 来体验新的行为。

 


解决方法:
修改php.ini配置文件:
[[email protected] etc]# vim php.ini
........
; Always populate the $HTTP_RAW_POST_DATA variable.
;always_populate_raw_post_data = On
always_populate_raw_post_data = -1
.......

然后重启php服务即可!














以上是关于php报错日志:PHP Deprecated:Automatically populating $HTTP_RAW_POST_DATA is deprecated的主要内容,如果未能解决你的问题,请参考以下文章

记录php日志

nginx报错日志:see security.limit_extensions

mac 自带php-fpm开启报错归纳

HTTP 500报错解决

php错误日志处理

Nginx+PHP框架laravel状态码500错误解决!