繁体   English   中英

Apache和PHP下载超时

[英]Timeouts on Apache and PHP downloads

我经营一个网站,为医生销售音频下载。 目前,当客户购买播客时,会向他/她显示直接的HTML链接以开始下载。 该链接指向一个ZIP文件,该文件的大小可以为1Gb。 我要问的一个问题是,当Apache服务器可能有几分钟的超时时间时,为什么下载可以成功运行几个小时? 我认为此超时是针对服务器处理GET请求并将结果输出通过输出缓冲区发送到浏览器的。 也许没有超时时间可以将缓冲区发送给用户。 我对么?

我的第二个问题是关于PHP超时。 我不喜欢指向下载的HTML直接链接,就像其他用户可以免费下载该URL一样。 一种解决方案是使用PHP脚本来发送下载文件,方法是发送适当的标头,然后发送预加载了下载数据的变量的“回显”。 我的问题是php.ini文件中的超时是否会影响下载。 通常需要30秒才能完成脚本。 那么,脚本在下载过程中运行吗? 或者,脚本是否可以快速完成并将下载数据放入PHP输出缓冲区。 如果是后者,则是否有超时将缓冲区清空?

我想我必须为php.ini中的'memory_limit'设置一个较大的值(默认为128Mb),以允许1Gb下载的大小。

尝试设置更大的流超时PHP STREAM TIMEOUT 您可以使用phpinfo查看默认值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM