我有一个页面可以通过名为thumb.php
此文件采用大图像文件,制作缩略图并输出如下所示的jpg:
<img src="thumb.php?width=100&height=100&cropratio=1:1&image=/photos/45_Jumps-059.jpg" />
我的服务器出现问题,当我达到大约60个请求时(请求thumb.php 60次以上的所有图像),我从服务器返回的响应是:
Remote server closed the connection before sending response header
并且图片无法加载。
这就像apache或php内存不足或什么的?它使我的整个服务器停止大约一分钟,然后再开始工作。
答案 0 :(得分:1)
问题很可能是Apache中的最大连接限制。它被设置为服务器可以在被太多同时连接命中时继续运行。它很容易配置,但你提到你在共享主机上,所以你不太可能改变它。
在您的场景中,我会通过在页面加载时加载一些来展开图像请求,然后使用JavaScript来观察加载完成后添加更多图像。 JQuery示例(未经测试):
<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>