PHP/Persistente Verbindungen

Aus Mikiwiki
< PHP
Version vom 2. Februar 2009, 21:02 Uhr von Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: 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) Verb...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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.