PHP/Persistente Verbindungen

Aus Mikiwiki
< PHP
Wechseln zu: Navigation, Suche

Neben der normalen Verbindung zur Datenbank, die bei jedem Zugriff neu geöffnet wird, gibt es auch eine schnellere Art, die sogenannte persistente (ständige) Verbindung. Diese bleibt so lange bestehen, bis sie ausdrücklich wieder geschlossen oder eine eingestellte Zeit überschritten wird.

Für das folgende Beispiel muss PHP 5 mit den Apache- oder ISAPI-Erweiterungen installiert werden. Um festzustellen, welches Verbindungshandle bereits geöffnet war, muss das Skript auf die alten Parameter zugreifen. Das geht nur, wenn dieses im Speicher gehalten werden kann. Da PHP unter CGI bei jedem Skriptaufruf erneut als Prozess startet, funktionieren persistente Verbindungen hier nicht - die Funktion "mysql_pconnect" verhält sich dann ebenso wie "mysql_connect".

Wenn immer die Programmlogik es erlaubt, sollten persistente Verbindungen genutzt werden. Die entsprechende Funktion sieht wie folgt aus.

$handle = mysql_pconnect("<server:port>", "<benutzer>", "<passwort>");

Ein Schliessen der Verbindung mit "mysql_close" ist nicht möglich.