这就是我现在所拥有的:
$chunksize = 1024*4;
$h = fopen($file, 'rb');
set_time_limit(600);
while(!feof($h)){
echo fread($h, $chunksize);
flush();
}
fclose($h);
我已经尝试增加块大小,我已经尝试重置每次迭代的超时,我已经尝试将超时设置为零(原来是5分钟),我甚至尝试将flush()放在循环外部让它自己的缓冲区处理它,并且每次下载在5分钟内完成。有时它是50.2MB,有时它是54.8或介于两者之间的任何东西,所以我知道它不是文件大小。 php_info()表示最长时间是30秒,所以我可以将它增加到300,但就是这样。
IIS(服务器2003)中是否有可能覆盖它的内容?
答案 0 :(得分:0)
http://www.murraymoffatt.com/software-problem-0002.html
我能够为这个特定文件提供无限制的运行时间,而不会影响网站的其余部分。
编辑: 看起来这些文章开始消失。
在IIS 5.0(Win2K)中重置FastCGI超时:
IIS 5.1(WinXP):
以下是IIS 6.0的说明:http://www.iisadmin.co.uk/?p=7 但MetaEdit的下载链接已损坏,请尝试此处:http://support.microsoft.com/kb/301386
答案 1 :(得分:0)
我遇到了同样的问题..
对于任何人来说,这些解决方案都是特定于Windows IIS的
我刚试了2天尝试设置为300秒的每个可能的配置来尝试解决问题。
我更改了配置数据库中的CGITimeout值,但在我的情况下,罪魁祸首证明是FastCGI ini文件(位于c:\windows\system32\inetsrv\fcgiext.ini
)
有一个设置(以秒为单位):
ActivityTimeout=300
更改此值并重新启动IIS。