Php Http请求在X数量之后失败

Php Http请求在X数量之后失败,php,apache,Php,Apache,我有一个页面,通过名为thumb.php的文件动态加载图像 此文件获取大图像文件,生成缩略图并输出jpg,如下所示: 我的服务器上有一个问题,当我达到大约60个请求时(所有图像的请求thumb.php超过60次),我从服务器得到的响应是: 远程服务器在发送响应头之前关闭了连接 图像无法加载 这是不是像apache或php内存不足之类的?它会使我的整个服务器暂停大约一分钟,然后再开始工作。问题很可能是Apache中的最大连接限制。它的设置使服务器在同时连接过多时可以继续运行。它很容易配置,但您提

我有一个页面,通过名为
thumb.php的文件动态加载图像

此文件获取大图像文件,生成缩略图并输出jpg,如下所示:

我的服务器上有一个问题,当我达到大约60个请求时(所有图像的请求thumb.php超过60次),我从服务器得到的响应是:

远程服务器在发送响应头之前关闭了连接

图像无法加载


这是不是像apache或php内存不足之类的?它会使我的整个服务器暂停大约一分钟,然后再开始工作。

问题很可能是Apache中的最大连接限制。它的设置使服务器在同时连接过多时可以继续运行。它很容易配置,但您提到您在共享主机上,因此您不太可能更改此设置

在您的场景中,我将通过在页面加载中加载一些图像请求来分散图像请求,然后使用JavaScript观察加载何时完成并添加更多图像。JQuery示例(未测试):


$(“img[src='']”)。加载(函数(){
var next=$(“img[src='':first”);
next.attr('src',next.data('src');
});
var first=$(“img[src='':first”);
first.attr('src',first.data('src');

看起来像是内存问题。那是apache内存还是php?我相信是php。你用什么输出(echo,gd?)你的图像?脚本生成一个缓存文件并将其保存到
/imagecache
文件夹中。然后它将使用
$image=ob\u get\u contents()
要读取图像文件,先设置标题,然后设置echo$image
Benjamin以前在本主题中提供了一个很好的优化功能:好吧,这可能只在一个页面上解决。但是,apache必须从许多客户机获得请求。应该有更复杂的解决方案来解决这个问题!也可能是共享的host限制来自单个IP的同时连接,以帮助防止DDOS攻击。这将解决该问题。我认为您对apache限制连接的看法是正确的。我认为您的解决方案本可以奏效,但我最终对图像进行分页,每页大约放置40个,现在一切似乎都很好
<img src="" data-src="thumb.php?width=100&height=100&cropratio=1:1&image=/photos/45_Jumps-059.jpg" />
<img src="" data-src="thumb.php?width=100&height=100&cropratio=1:1&image=/photos/46_Jumps-059.jpg" />
<img src="" data-src="thumb.php?width=100&height=100&cropratio=1:1&image=/photos/47_Jumps-059.jpg" />

<script>
    $("img[src='']").load(function() {
       var next = $("img[src='']:first");
       next.attr('src', next.data('src');
    });
    var first = $("img[src='']:first");
    first.attr('src', first.data('src');
</script>