我正在编写一个网页,显示独立于网站维护的MySQL数据库的统计信息。我们的想法是不断重新加载它,以便不断地对MySQL数据库进行轮询并使网站保持最新状态。我有一个php页面,它执行所有数据库轮询和逻辑显示方式或内容。用户访问的主页面具有以恒定间隔重新加载php页面的功能,从而自动刷新屏幕上的轮询。
在我编写完所有内容之后,它会在一段时间内发挥作用,然后无论使用何种浏览器,它都会在几个小时后崩溃。在chrome中,我找到了任务管理器并注意到内存在很短的时间内增加了很多。从10 mb到1 g以上需要不到一个小时的时间。我最初的想法是,php脚本中存在大量内存泄漏,可能是经常轮询MySQL数据库。为了确保我在PHP脚本中注释了所有内容,但泄漏仍然存在。它必须在我写的html和jQuery代码中。 Javascript不是我的强项,我至少可以说是新手。但我知道它有垃圾收集,所以我认为我的糟糕实现在某种程度上阻止它GCing.Can任何人都可以看到可能导致这种情况的原因? index.html如下。就像我说的那样,index.php现在是空白的,所以我看不出会产生什么影响。
<html>
<head>
<link type="text/css" rel="stylesheet" href="style.css"/>
<title>"Statistics</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate, max-age=-1, max-stale=0, post-check=0, pre-check=0">
<meta http-equiv="expires" content="-1">
<script src="./js/jquery-1.11.2.min.js"></script>
<script src="./js/jquery-1.11.2.js"></script>
<script>
$(document).ready(function() {
$("#refreshpage").load("index.php");
var refreshId = setInterval(function() {
$("#refreshpage").load('index.php');
}, 5000);
refreshId = null;
$("#refreshpage").unload();
$.ajaxSetup({ cache: false });
});
</script>
<body class=bground>
<center>
<div id="refreshpage"></div>
</center>
<img id="logoShift" src="logo.png"/>
</body>
</head>