Php 数据库连接不断增加
在我的网站上,我在每个页面中包含一个连接文件,其中包含以下代码:Php 数据库连接不断增加,php,mysql,ajax,Php,Mysql,Ajax,在我的网站上,我在每个页面中包含一个连接文件,其中包含以下代码: try { $DB = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); } catch(PDOException $e) { echo $e->getMessage(); }
try {
$DB = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
}
catch(PDOException $e) {
echo $e->getMessage();
}
然后在每个页面中调用各种函数,每个函数看起来类似于:
function getAllBenchmarkQuestions($sid){
global $DB;
$quizHandle = $DB->prepare("SELECT * FROM benchmarkquestions
WHERE sid = :sid AND active = 0");
$quizHandle->bindParam(':sid', $sid);
$quizHandle->execute();
$quizHandle->setFetchMode(PDO::FETCH_ASSOC);
return $quizHandle;
}
如果我运行类似“%onn%”的显示状态;我明白了:
Aborted_connects 9505
Connections 1577837
Max_used_connections 52
Threads_connected 3
即使站点上除了我之外没有其他用户,每次我刷新命令时连接的数量似乎都在增加,大约每秒4-5个
我已经遇到了很多问题,最大限度地增加了连接数量,并试图找出解决问题的方法。有几个页面是通过ajax调用的,我包括了connect文件。通过ajax调用的页面用于根据用户交互插入数据,例如:
<?php session_start();
include('../includes/startup.php');
$questionId = $_POST['questionId'];
$answer = $_POST['answer'];
insertQuizAnswer($questionId, $userId, $answer, 1);
?>
我设置的不正确吗 理论上,也许您可以将连接存储在会话变量中?您应该在完成后关闭
$quizhandle
etc连接,这会有所帮助:$quizhandle=null代码>