我的VPS服务器出现以下问题。运行并发PHP脚本
我有一个长时间运行的PHP脚本,它将大文件发送到浏览器。它确实是这样的:
<?php
header("Content-type: application/octet-stream");
readfile("really-big-file.zip");
exit();
?>
这基本上读取服务器的文件系统中的文件,并将其发送给浏览器。我不能只使用直接链接(并让Apache服务于该文件),因为应用程序中存在需要应用的业务逻辑。
问题是,虽然此类下载正在运行,但该站点不响应其他请求。
不是说这是问题,但是当服务大文件时,您应该始终调用'set_time_limit(0);'。它目前对你来说应该没有什么区别,但是如果你在某些时候将它移到* Windows平台,可能会遇到潜在的问题。 – DaveRandom 2012-01-17 11:47:23
你是如何发现这个问题的?你是通过从同一台机器发出多个请求来测试它吗?你在使用会话吗? – DaveRandom 2012-01-17 11:53:48
@DaveRandom当我尝试下载多个文件时(他们被排队等待下载),我注意到了这个问题。我正在使用会话 - 只是试过了,看起来这个限制不会影响其他会话。感谢您的想法 - 我现在进一步调查。 – 2012-01-17 12:07:07