我正在Apache下运行PHP,我想将一小段POST数据发送到页面,当POST数据到达时,该页面会将消息写入数据库。我使用WebRequest
从.NET应用程序发送数据,并将SendChunked
设置为true。
不幸的是,看起来PHP脚本在所有POST数据到达之前都没有开始执行。我查看了apache日志,我看到请求立即开始,但PHP脚本中的echo strftime(...)
语句显示它在收到所有POST数据之后才运行。
有没有办法告诉PHP马上开始?我尝试在PHP.ini文件中设置always_populate_raw_post_data = Off
,但这没有任何区别。我的请求的内容类型为application/octet-stream
,$HTTP_RAW_POST_DATA
仍然填充了所有POST数据。
答案 0 :(得分:5)
您可以使用HTTP PUT方法执行此操作,但不能使用POST。
当客户端使用PUT动词时,数据将流入PHP。它可以从客户端发送的php:://input
流逐字节访问。