24. september 2009 - 15:40
Der er
8 kommentarer og 1 løsning
Mysql Sleep
Hej, jeg undrer mig lidt over at mine mysql forbindelser går i sleep når jeg lukker forbindelsen når jeg er færdig med min sql kald. Eks: $testDB = TestDB::getInstance(); //Singleton $testDB->disconnect(); // Kalder disconnect funktion Udover det så har mine db klasse en destructor som automatisk kalder disconnect. Er det bare mig eller det meningen at forbindelser går i sleep når man lukker forbindelsen ?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Slettet bruger
24. september 2009 - 18:00
#1
Der er ikke meget MySQL over din forklaring?
24. september 2009 - 18:20
#2
Hvordan ser TestDB constructor, getInstance og disconnect ud?
24. september 2009 - 18:33
#3
Her er hele klassen: class TestDB { private $DB_host = "localhost"; private $DB_user = ""; private $DB_pass = ""; private $DB_dbName = ""; private $DB_dbType = "mysql"; private $dsn; private $db = null; public static function getInstance() { static $instance = null; if ($instance === null) $instance = new TestDB(); return $instance; } public function __destruct() { //$this->db->disconnect(); } public function __construct() { $this->dsn = $this->DB_dbType . "://" . $this->DB_user . ":" . $this->DB_pass . "@" . $this->DB_host . "/" . $this->DB_dbName; $this->db = DB::connect($this->dsn, true); if (DB::isError($this->db)) { die($this->db->getMessage()); } } public function disconnect() { $this->db->disconnect(); } }
24. september 2009 - 18:47
#4
Glemte lige at skrive at jeg benytter Pears DB pakke.
24. september 2009 - 18:54
#5
Jeg kan godt genkende Pear DB (hvorfor er du ikke opgraderet til Pear MDB2?).
24. september 2009 - 19:00
#6
Der er ikke umidelbart noget som springer i oejnene. Jeg er lidt skeptisk overfor brug af singleton til dette formaal. Men lad os antage at det giver mening her. Proev og saet noget debug print ind ved connect og disconnect for at se om der bliver kaldt 1:1.
24. september 2009 - 23:37
#7
Jeg anede faktisk ikke den eksisterede.. ! Men den skal jeg da kigge på :) Jeg smider noget debug på og ser hvad der sker! Tak for input indtil videre! :)
25. september 2009 - 12:05
#8
Hej igen, jeg har debugget lidt, men blev ikke meget klogere.. Jeg har en fornemmelse af at det måske er en bug i pears DB pakke. Jeg har nu "opgraderet" til mdb2 og det virker efter hensigten :) Må sige at mdb2 pakken er et KÆMPE skridt op af stigen i forhold til DB pakken! Siger tak for infoen og smid et svar hvis du have point! :)
25. september 2009 - 14:59
#9
svar
Computerworld tilbyder specialiserede kurser i database-management