我在 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 数据。
最佳答案
您可以使用 HTTP PUT 执行此操作方法,但不适用于 POST。
当客户端使用 PUT 动词时,数据将流入 PHP。它可以通过 php:://input
流逐字节访问,因为它是从客户端发送的。
关于php - PHP 脚本可以在收到所有 POST 数据之前启动吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3945683/