Php 如何通过ajax上传文件而不超时?

Php 如何通过ajax上传文件而不超时?,php,ajax,file-upload,timeout,Php,Ajax,File Upload,Timeout,我正在使用ajax上传一组约50个文件,所有文件都首先,您的web服务器可以有其他超时配置,这些配置也可能会中断PHP的执行 Apache有一个超时指令,IIS有一个CGI超时函数 两者都默认为300秒 有关特定详细信息,请参阅web服务器文档 此消息 ERR_CONNECTION_RESET 不是来自php脚本,这是服务器问题,因为服务器正在断开连接,不向客户端发送任何内容 以下是您可以尝试的事项: 1-更改设置max_execution_time=1000,看看是否有更多的时间,在使用ma

我正在使用ajax上传一组约50个文件,所有文件都首先,您的web服务器可以有其他超时配置,这些配置也可能会中断PHP的执行

Apache有一个超时指令,IIS有一个CGI超时函数

两者都默认为300秒

有关特定详细信息,请参阅web服务器文档

此消息

ERR_CONNECTION_RESET
不是来自php脚本,这是服务器问题,因为服务器正在断开连接,不向客户端发送任何内容

以下是您可以尝试的事项:

1-更改设置max_execution_time=1000,看看是否有更多的时间,在使用max_execution_time=0时,旧的xammp和appserv版本出现了一些问题

2-在php.ini集合中:

upload_max_filesize = 300M

post_max_size = 300M
3-将其放入脚本中:

set_time_limit(3600); // 1 hour

由于上传在快速连接上工作正常,我想问题在于某个地方超时了,您的配置似乎是正确的。只缺少一件事,那就是设置时间限制

set_time_limit(0); //If set to zero, no time limit is imposed. 

使用Apache模块最终解决了我的问题:

RequestReadTimeout header = 20-40, MinRate = 500 body = 20, MinRate = 500
我发现这项建议在我的文章末尾

作为参考,我尝试了增加各种ini设置、Apache超时指令以及set_time_limit php函数,但没有成功

set_time_limit(0); //If set to zero, no time limit is imposed. 

RequestReadTimeout header = 20-40, MinRate = 500 body = 20, MinRate = 500