Php 接收尽可能多的HTTP请求,该请求不会';不完整

Php 接收尽可能多的HTTP请求,该请求不会';不完整,php,nginx,upload,Php,Nginx,Upload,简言之,如果我正在发送一个带有较大ish(20-30mb)负载的HTTP POST,并且连接在向服务器发送请求的中途中断,那么我可以恢复连接中断前发送的10mb+吗 在我在NGINX上测试PHP时,如果在上传过程中连接断开,我的PHP似乎永远不会启动。我在脚本顶部忽略了用户中止(1),但这似乎只有在收到完整的请求后才相关 是否有一个配置设置允许我查看所有接收到的请求,即使它没有完全接收到 我主要通过断断续续的连接发送这些文件,所以我希望每个请求发送尽可能多的文件,然后询问服务器从哪里继续。目前的

简言之,如果我正在发送一个带有较大ish(20-30mb)负载的HTTP POST,并且连接在向服务器发送请求的中途中断,那么我可以恢复连接中断前发送的10mb+吗

在我在NGINX上测试PHP时,如果在上传过程中连接断开,我的PHP似乎永远不会启动。我在脚本顶部忽略了用户中止(1),但这似乎只有在收到完整的请求后才相关

是否有一个配置设置允许我查看所有接收到的请求,即使它没有完全接收到

我主要通过断断续续的连接发送这些文件,所以我希望每个请求发送尽可能多的文件,然后询问服务器从哪里继续。目前的情况是,我必须将文件分块发送,如果有错误,则减小文件的大小,如果一段时间内没有任何错误,则增大文件的大小。这是非常缓慢和浪费带宽

=======

我需要澄清的是,我所追求的不是一次性上传一个大文件,而是如果连接中断,我能从我中断的地方继续吗?在我所有的测试中,如果没有收到完整的帖子,整个请求都会被废弃,PHP也不会得到通知,所以我必须从头开始

我必须运行一些测试,但是你是说如果我对请求使用分块传输编码,PHP会在断开连接之前获得所有接收到的分块吗?这是值得一试的,当然更好的做法是在连接中断的情况下制作多个较小的帖子


谢谢你的建议

永远不要通过脚本后端(Ruby、PHP)处理大文件上传,只有在文件中才有一个内置的直接上传功能,名为client_body_,请参见我对它的深入概述:


唯一的限制是,它不适用于多部分表单数据,只能通过AJAX或从移动设备或服务器到服务器的直接POST。许多分块库的可能副本可以处理此类情况,因此您不必这样做。我强烈建议使用一个,因为它将允许更大的文件以及可恢复的上传。很高兴知道这是存在的,但不幸的是目前对我没有帮助。在我的测试中,我开始传输一个大文件,给它一段时间,然后切断连接。上载/临时文件夹中没有留下任何文件。当我没有断开连接时,上传的文件很好(除了我的一个自定义头似乎通过了,但这可能是我的一个简单错误)。该文件基本上是您转储到磁盘上的HTTP请求的主体。请求完成或中断,导致“问题”,但这是一种预期行为。尝试放弃请求,但我不确定是否有帮助。从那时起,我所做的调查并不能确定是否能够阅读到我最初的问题——部分上传,但我已将此项标记为答案,因为它对推动事情向前发展有很大帮助,如果我想一次性发送非常大的文件,这无疑是一种方法。非常感谢@mikhailov。