Fac niște teste (pe serverul meu de dezvoltare) pentru a mă ajuta să îmi dau seama ce cauzează lista tot mai mare de conexiuni pe serverul meu de producție. Presupunerea mea este că există anumite pagini care nu închid conexiunea folosind mysql_close(). Așa că încerc mai întâi să confirm ce creează conexiunile și apoi să confirm cum să mă asigur că sunt închise.
Pentru a face acest lucru, am creat un script simplu pentru a crea o conexiune, urmat de un mysql_close() pentru a închide conexiunea. Din păcate, testarea mea este oprită pentru că nici măcar nu pot confirma că creez conexiuni.
Când execut următorul cod (observați că mysql_close()) este comentat, m-aș aștepta să văd o nouă conexiune în lista mea de conexiuni client și m-aș aștepta să se distrugă după 20 de secunde de când am setat wait_timeout la 20 Cu toate acestea, nici măcar nu pare să fie creată nicio conexiune.
<?php
$dblocation = "127.0.0.1";
$dbusername = "blah_dev";
$dbpassword = "test";
$dbname = "blah_dev";
$dbdescription = "";
$conn = mysql_connect($dblocation, $dbusername, $dbpassword) or die ("<span style='color:red'>Unable to connect! Press F5 to try again.</span>");
mysql_select_db($dbname, $conn) or die ("Unable to select database!");
$sql = "select fullname from months";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result)){
echo "<table border=1>";
do{
$month = $row["fullname"];
echo "<tr><td>".$month."</td></tr>";
}while ($row = mysql_fetch_array($result));
echo "</table>";
}
//mysql_close();
?>
Am adăugat chiar și o simplă declarație select pentru a confirma că fac o conexiune și o fac. De ce această conexiune nu apare în lista mea de conexiuni client din MySQL Workbench? De asemenea, folosesc un alt instrument (MySQL Diagnostic Manager) pentru a-mi arăta firele curente și nici acolo nu se afișează.
Ce îmi lipsește aici?