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
Mon, 23 Apr 2001 01:27:56 +0200


Hi,

vor einiger Zeit habe ich hier mal das Problem geschildert, da=DF =
connects zur
MySQL-DB nicht stabil zustande kamen, manchmal waren die Connections =
einfach
weg. Auf einen Tip aus der Liste hin, habe ich alle pconnects auf =
connects
ver=E4ndert. Das brachte eine deutliche Verbesserung. Vielen Dank an =
dieser
Stelle an Michael Koch f=FCr den Tip.

Dann hatten wir pl=F6tzlich die M=F6glichkeit einem anderen Ph=E4nomen =
auf den
Grund zu gehen. Teilweise werden in Scripten =FCber DB_Sql von PHPLIB =
mehrere
Connects auf verschiedene Datenbanken erzeugt. Machmal kam es dabei =
vor, da=DF
man auf die eine Datenbank zugreifen konnte, danach auf eine andere - =
und
von nun an konnte man nur noch auf die andere Datenbank zugreifen. Das
Handle zur ersten DB war pl=F6tzlich das gleiche. Crazy.

Dann fand ich in der PHPLIB-Doku folgende Zeilen:

>PHP reuses connections, if possible. When a connection is being made =
to the
same Host with the same Username and Password as an existing =
connection, no
second connection is being made by PHP. Instead the existing connection =
is
returned to the caller. This is true for both, the *_connect() and
*_pconnect() calls of all PHP database interfaces.=20


Aha! Teilweise hatten die Datenbanken die gleichen user- und
password-Kombinationen. Zudem lagen sie auf dem gleichen Server. Die
Bedingung, die in der PHPLIB-Doku beschrieben war, traf also zu. Also =
habe
ich s=E4mtliche user- und password-Kombinationen ge=E4ndert, damit sie =
unique
sind. Und damit war das Problem komplett gel=F6st. Seitdem hat kein =
Connect
mehr das Handle eines anderen Connects geklaut.

Bevor wir PHPLIB verwendet haben, hatten wir diesen Effekt des =
Handle-Klaus
auch schon mehrfach, aber leider nicht wirklich reproduzierbar. Bei der
Verwendung von PHPLIBs DB_Sql war der Klau dann endlich stabil und
untersuchbar.

Ich kann Euch also nur empfehlen: verwendet IMMER f=FCr jede Datenbank =
andere
user- und password-Kombinationen!

Viel Erfolg,
:-) Sandor


Falls mal jemand das gleiche Problem hatte und ebenfalls festgestellt =
hat,
da=DF sich das Problem durch die eindeutige Vergabe von user und =
password
l=F6sen l=E4=DFt, w=FCrde mich das sehr interessieren. Schickt mir in =
diesem Fall
einfach eine Mail an mailto:sandor_(at)_mail.handy.de.


> -----Urspr=FCngliche Nachricht-----
> Von: Sandor [mailto:Sandor_(at)_mail.handy.de]
> Gesendet: Donnerstag, 29. M=E4rz 2001 16:40
> An: 'php_(at)_phpcenter.de'
> Betreff: RE: [php] PHP-Fehler? Db-Connect verloren - mitten im
> PHP-Script !!!
>=20
>=20
> Am Don, 29 M=E4r 2001 schrieben Sie:
> > Das habe ich noch nicht getestet. Werde ich mal machen.
> >=20
> > Wo ist der Unterschied? Wieso versprichst Du Dir eine=20
> L=F6sung dadurch?
>=20
> Soweit ich weiss werden persistente Verbindungen aufrechterhalten =
nach
> beenden
> eines Scripts. Vielleicht dachte PHP es m=FCsste noch eine=20
> Verbindung offen
> sein,
> aber die Datenbank hatte sie vn ihrer Seite aus schon wieder=20
> geschlossen.
>=20
> Oder so.
>=20
>=20
>=20
> Ok, ich werde es testen und von meinen Erfahrungen berichten.
> Danke zun=E4chst einmal,
> :-) Sandor
> --=20
> ** http://www.php-center.de **
> Die PHP-Liste: mailto: php_(at)_phpcenter.de
> http://lists.phpcenter.de/mailman/listinfo/php
>=20


php::bar PHP Wiki   -   Listenarchive