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

Ubuntu20.04 LAMP下cURL POST请求PHP返回空数组问题咨询

你提供的cURL输出是否表示POST成功?

是。从输出可以明确确认本次测试请求完全正常:

  1. cURL已正确发送Content-Type: application/x-www-form-urlencoded格式的POST数据,23字节内容完全上传
  2. 服务端返回的响应体已经输出array(1) { ["name"]=> string(4) "rabbit" },证明PHP已经成功接收并解析到了POST参数,该测试场景下不存在配置问题。

实际场景返回空数组的排查方案

如果你其他同逻辑请求返回空数组,和本次测试结果不符,按以下优先级排查:

  • 确认请求是否存在301/302跳转:常见如HTTP强制跳转HTTPS、域名带www/不带www的跳转,跳转过程会默认丢弃POST body,可在cURL命令中加-L参数跟随跳转验证,或直接请求最终跳转后的地址
  • 检查php.ini配置:确认enable_post_data_reading参数值为On,该参数关闭后PHP不会解析任何POST数据
  • 排查上层代理逻辑:如果站点部署了CDN、反向代理(如Nginx)、WAF等组件,确认是否有规则限制了POST请求体大小、或者修改了请求的Content-Type
  • 确认提交的数据格式:如果你提交的是JSON、XML等非application/x-www-form-urlencoded/multipart/form-data格式的数据,PHP不会自动解析到$_POST中,需要手动通过file_get_contents('php://input')读取原始请求体再自行解析
  • 检查应用层代码:确认是否有框架、全局公共代码提前清空了$_POST变量,或者路由重写逻辑意外丢弃了请求体

额外说明:服务端接收POST请求不需要安装php-curl扩展,该扩展仅用于PHP作为客户端发起HTTP请求时使用,和服务端接收能力无关。

内容的提问来源于stack exchange,提问作者S.C.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:18:02