phpbar.de logo

Mailinglisten-Archive

[php] PHP-Fehler? Db-Connect verloren - mitten im PHP-Script !!!

[php] PHP-Fehler? Db-Connect verloren - mitten im PHP-Script !!!

Sandor php_(at)_phpcenter.de
Thu, 29 Mar 2001 13:14:29 +0200


Hi,

ich habe ein Problem mit den Db-Connections. Die MySQL-Datenbank nimmt
problemlos =FCber 1000 Connects an und ist auch sonst stabil. Aber =
manchmal
geht die Verbindung zum Db-Server einfach w=E4hrend der Laufzeit eines
Scriptes verloren. Und das ist nicht wirklich reproduzierbar. =
Witzigerweise
h=E4ngt das nicht(!) mit einer =DCberlastung des Db-Servers zusammen, =
denn
gerade in den Abendstunden oder auch morgens, wenn eigentlich wenig los =
ist,
tritt dieser Effekt auf.

Ich versuche es nochmal anders zu beschreiben (auch wenn es unlogisch =
klingt
- es ist so :-( ):
Der Server ist in Ruhe, hat wenig zu tun, man programmiert so vor sich =
hin
und nach ein paar Minuten will man die =C4nderungen auch mal auf dem
Bildschirm sehen. Im einfachsten Fall haut man einmal auf F5 (Reload) =
und
dann hat man pl=F6tzlich diesen Fehler auf dem Bildschirm:
lost connection ... blablabla

Wenn man jetzt nochmal reloaded, ist die Seite OK und ohne
Db-Connect-Fehler!? Ich find das ziemlich crazy.

Um herauszubekommen, wann die erstellte Verbindung verloren geht, habe =
ich
eine Wiederholung des am beginn des Scriptes einmaligen Db-Connects
programmiert, die es 10mal versucht. Die Verbindung sollte ja dann auch =
f=FCr
die Dauer des Scriptes erhalten bleiben. Es stellte sich heraus, da=DF =
der
Connect am Anfang des Scriptes nahezu immer ohne Probleme erstellt =
werden
kann. Aber aus nicht nachvollziehbaren Gr=FCnden verliert das Script
mittendrin immer wieder mal sein Db-Handle. Bei der n=E4chsten Query =
f=FChrt das
dann zum Fehler.

Wir setzen hier Apache mit mod-php und MySQL ein.

Mir sieht das nach einem PHP-Fehler aus. Ich w=E4re allerdings sehr =
froh, wenn
es sich der Fehler woanders finden lie=DFe. ;-)
Wie arbeitet da PHP? Kann es sein, da=DF PHP Db-Handles recycled, =
obwohl das
verwendende Script noch nicht zu Ende ist? Warum dann aber auch Fehler =
in
der Nacht, wenn wenig los ist? Warum tritt der Fehler nach einem =
sofortigen
Reload (F5) nicht auf?

K=F6nnte die Umstellung auf CGI-PHP etwas bringen? Die Leistung des =
Systems
w=FCrde dabei aber sicherlich in die Knie gehen.


Wei=DF jemand etwas =FCber das Problem? Jede Idee oder Anregung ist =
willkommen!

:-) Sandor


php::bar PHP Wiki   -   Listenarchive