dedlfix: PHP Datenbank Zugriff

Beitrag lesen

Tach!

Wenn es mySQL war, dann möchte ich dies hier zur Lektüre anbieten. Nicht, weil ich Dir das p: Präfix unbedingt ans Herz legen will, sondern wegen der Informationen zum Verhalten von PHP ohne dieses Plugin.

Da gibt es auch noch eine eigene Handbuchseite zu Persistent Database Connections.

Um das noch etwas zu verdeutlichen: Persistente Connections hören sich super toll für einen Neuling auf dem Gebiet an. Aber das sind sie nicht. Soweit ich weiß, gilt es die Konfiguration vom Datenbankserver und PHP zu beachten und aufeinander abzustimmen. Nichts genaues weiß ich aber nicht, weil ich das Thema noch nie gebraucht habe. Das wichtigste ist, dass PHP als Apache-Modul laufen muss, sonst läuft es nicht ständig und kann keinen Connection-Pool aufrechterhalten. Als Apache-Modul will man PHP aber nur dann laufen lassen, wenn der Server nur diese eine Application zu bedienen hat. Für Konstellationen mit mehreren Websites will man lieber FCGI laufen haben und damit die Möglichkeit, jede Anwendung unter einem eigenen Nutzer laufen zu lassen.

Eine zweite Connection kann man eventuell brauchen, wenn man zwei Query-Results zusammenmischen muss. Ich hab sowas schon programmiert, weil ich kein anständiges SQL für diesen Fall gebaut bekommen habe. Und auf einer Connection kann man meines Wissens nur ein offenes Result-Set haben.

Das kann so nur passieren, wenn man ungepufferte Abfragen loslässt. Der Normalfall ist, dass das Resultset gleich beim Query abgefragt und von PHP intern zwischengelagert wird. Damit ist die Query auf dem Server beendet und eine weitere kann laufen, auch wenn man die erste noch nicht fertig-gefetcht hat.

dedlfix.