2011-11-16 84 views
0

失败这是我在此刻得到了:PHP readfile_chunked后5分钟路程

$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.2 MB,有时候是54.8或者其中的任何东西,所以我知道这不是文件大小。 php_info()表示最大时间是30秒,所以我可以将它增加到300,但就是这样。

在IIS(服务器2003)有什么可以重写它吗?

回答

0

啊,微软MVP。每当他们说什么是不可能的,你知道这只是一个挖掘的问题。

http://www.murraymoffatt.com/software-problem-0002.html

我能够给这一个特定的文件无限的运行时间,而不会影响网站的其余部分。编辑: 看起来像那些文章开始消失。

在IIS 5.0(Win2K中)复位的FastCGI超时:

  • 启动IIS管理控制台(开始=>设置=>控制面板=> 管理工具=> Internet服务管理器)。
  • 在控制台左侧的树中,您应该看到“Internet 信息服务”位于最上方,然后在您的计算机的下方名称为 。右键单击您的计算机名称并选择“属性”。
  • 在“主属性”下是一个列表框;确保显示“WWW服务” ,然后单击“编辑”按钮。
  • 点击“主目录”标签。
  • 单击应用程序设置区域中的“配置”按钮。
  • 点击“Process Options”标签。
  • 在CGI配置区域中,有一个以秒为单位指定的“CGI脚本超时”值 。默认值是300秒(5分钟)。
  • 将此值更改为任何您希望超时的值。
  • 单击每个窗口上的“确定”按钮,直到您获得 回到IIS管理控制台。关闭管理 控制台。
  • 重新启动IIS通过打开命令提示(开始=>程序 =>附件=>命令提示),并输入命令:IISRESET

IIS 5.1(操作系统):

  • 打开IIS 。
  • 展开计算机名称。
  • 右键单击“网站”并选择“属性”。
  • 转到“主目录”选项卡。
  • 点击“配置”按钮,弹出另一个窗口。
  • 转到“Process Options”选项卡。
  • 设置为你的心脏需求。
  • 好的。

这里的指令IIS 6.0:http://www.iisadmin.co.uk/?p=7 但下载链接MetaEdit的坏了,试一下:http://support.microsoft.com/kb/301386

0

我正经历着完全相同的问题..

对于任何人都希望,这些解决方案是特定于Windows IIS

我刚刚经历了2天尝试每个可能的配置300秒的设置来尝试解决问题。

我在配置数据库中更改了CGITimeout值,但在我的案件的罪魁祸首竟然是FastCGI的ini文件(位于c:\windows\system32\inetsrv\fcgiext.ini

有一个设置(以秒为单位):

ActivityTimeout=300 

更改此值并重新启动IIS。