flash上传2分钟后服务器不再接收数据

WormJan 2015-02-11 11:01:17
用swfupload上传文件。发现一个现象,就是当上传时长超过2分钟时,服务器就不再接收数据了。
上传的时候会在windows/temp下产生一个tmp临时文件。当2分钟以内的时候,文件正在上传,这个tmp文件大小一直增大。并且无法删除。当超过2分钟的时候,tmp文件不再增大。可以删除。swfupload显示仍然在上传数据。上传的字节数增大。但是其实这个时候服务器已经不再接收数据了。

而且,这个问题,并不在于文件有多大。比如我在一台上传速度只有10kb/s的电脑上上传,那么传个几M的文件都不行。如果我在一台上传速度有1M的电脑上上传,那么100M以下的文件都没有问题。所以问题不在于文件大小。
php.ini:
max_execution_time =600
max_input_time = 600
memory_limit = 300M
post_max_size = 360M
upload_max_filesize = 200M

环境:
IIS6.0 保持http连接。超时为600秒。VPS服务器

求指点。
...全文
180 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
种草德鲁伊 2015-03-24
  • 打赏
  • 举报
回复
引用 8 楼 superfans98 的回复:
也就是说,上传速度不管快慢,我的服务器只要超过2分钟就完蛋。而别人的服务器却不受时间限制。
只用考虑一种情况,服务器你不能设置的时候,靠更改脚本超时时间这种方法如何能解决问题?
zyb88325 2015-03-24
  • 打赏
  • 举报
回复
浏览器用firebug看看提交的情况呢
WormJan 2015-03-23
  • 打赏
  • 举报
回复
如果说分块上传,那么该怎么分块呢。如果是我的电脑,150M的文件,分2块就足够了。但是如果我们公司的速度不超过100K的话,那就得十几块。分块之前还得先计算一下客户端网速。
WormJan 2015-03-23
  • 打赏
  • 举报
回复
引用 6 楼 zyb88325 的回复:
应该是timeout断掉了
引用 2 楼 KarasCanvas 的回复:
是分块的吗,如果不是的话很正常。
但是很奇怪,每次都是2分钟。所有的设置都大大地超过这个2分钟。而且网速很快。不应该是超时或者网络出现意外。如果真是这样,那也太巧合了。每次都是2分钟。另外,一样的代码,放在别人的服务器上,他的服务器网速慢,上传小文件,传了五六分钟,仍然上传成功。期间的传输速度比我的慢很多。 timeout断掉,也就是说120秒超时了?可是服务器设置的是600秒。难道服务器的外围网络设置或环境有这一类的限制? 和文件大小其实也没有关系。我在一个网络速度很慢的环境下上传,有时候连四五兆的文件都上传不了。同样也是2分钟后就出问题。 测试环境有如下几个: 1、客户端网速快,服务器网速快。上传速度快。但超过2分钟就完蛋。 2、客户端网速慢,服务器网速快。上传速度慢。超过2分钟就完蛋。 以上2条,是我的服务器。是VPS。 3、客户端网速快,服务器网速慢,上传速度慢比如可能上传了三四分钟(上传所花时间比3分钟多,5分钟之内),但是上传成功! 第3条是别人的服务器。一个虚拟主机。 也就是说,上传速度不管快慢,我的服务器只要超过2分钟就完蛋。而别人的服务器却不受时间限制。
种草德鲁伊 2015-03-23
  • 打赏
  • 举报
回复
引用 5 楼 superfans98 的回复:
[quote=引用 2 楼 KarasCanvas 的回复:] 是分块的吗,如果不是的话很正常。
什么分块?待上传的文件吗?没有分块。swfupload不是可以上传大文件吗?还没见谁遇见过这个问题。 您说的很正常,是指什么原因引起的2分钟后不再接受数据?[/quote] 本来是一个文件上传用一个请求,分块用多个请求完成。大文件上传不管是脚本超时还是网络意外,都没办法上传成功。 不单swfupload可以上传大文件,浏览器自身都可以。
zyb88325 2015-03-23
  • 打赏
  • 举报
回复
应该是timeout断掉了
WormJan 2015-03-23
  • 打赏
  • 举报
回复
引用 2 楼 KarasCanvas 的回复:
是分块的吗,如果不是的话很正常。
什么分块?待上传的文件吗?没有分块。swfupload不是可以上传大文件吗?还没见谁遇见过这个问题。 您说的很正常,是指什么原因引起的2分钟后不再接受数据?
WormJan 2015-03-23
  • 打赏
  • 举报
回复
引用 3 楼 fdipzone 的回复:
max_execution_time =600 max_input_time = 600 文件太大,上傳時間超過600秒,程序終止。 把時間調高就可以了。
2分钟才120秒,距离600秒还很远呐。
傲雪星枫 2015-02-13
  • 打赏
  • 举报
回复
max_execution_time =600 max_input_time = 600 文件太大,上傳時間超過600秒,程序終止。 把時間調高就可以了。
种草德鲁伊 2015-02-13
  • 打赏
  • 举报
回复
是分块的吗,如果不是的话很正常。
crazyday7 2015-02-12
  • 打赏
  • 举报
回复
可能是系统问题,找系统人员问问看吧

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧