You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ajax加载PHP函数时出现$HTTP_RAW_POST_DATA废弃警告(功能正常)

解决PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA 警告问题

嘿,这个问题我之前碰到过,虽然你的Ajax功能能正常运行,但这个废弃警告可不能大意——PHP从5.6开始就把$HTTP_RAW_POST_DATA标记为废弃特性,后续版本会彻底移除它,赶紧修复避免后续踩坑。

问题根源

这个警告的核心原因是PHP官方不再推荐使用$HTTP_RAW_POST_DATA来获取原始POST数据,它的行为存在不稳定的情况,官方更建议用php://input流来替代。服务器日志里的提示其实已经把修复方向说得很清楚了。

具体修复方案

1. 修改php.ini配置(全局生效,优先推荐)

找到对应ea-php56的php.ini配置文件,定位到always_populate_raw_post_data这一项,把它改成:

always_populate_raw_post_data = -1

如果找不到这一行,直接在文件末尾添加上面的代码就行。修改完记得重启Apache服务器,这样整个站点的这个警告都会消失。

2. 用.htaccess调整(无php.ini权限时用)

如果你用的是虚拟主机,没有权限修改php.ini,可以在网站根目录的.htaccess文件里添加以下内容:

php_value always_populate_raw_post_data -1

注意:这种方法需要你的服务器允许通过.htaccess修改PHP配置,如果不行就试试第三种方法。

3. 代码层面替换(针对单个PHP文件)

如果你的js/js.php里有用到$HTTP_RAW_POST_DATA,直接把它替换成file_get_contents('php://input')。举个例子:
原来的代码:

$postData = $HTTP_RAW_POST_DATA;

修改后:

$postData = file_get_contents('php://input');

这样既能消除警告,又能兼容未来的PHP版本。

另外,你的Ajax代码片段看起来没什么问题,只要PHP端做好调整,就能彻底解决这个日志里的错误提示啦。

内容的提问来源于stack exchange,提问作者Octavia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:43:03