MySQL Verbindung wird nach Skript-Abbruch nicht gelöst

MySQL Verbindung wird nach Skript-Abbruch nicht gelöst

am 31.05.2005 22:13:19 von Timo Gallen

Hallo,

ich habe eine Seite auf einem LAMP Server mit einem PHP-Skript, das eine
MySQL-Verbindung mit mysql_connect() herstellt (keine persistente
Verbindung). Wenn nun eine Abfrage gestartet wird, die etwas länger
dauert und der Besucher lange genug gewartet und inzwischen meine Seite
verlassen hat, läuft der gestartete Datenbank-Prozess weiterhin
(zumindest laut phpMyAdmin).

Läuft das PHP-Skript dann im Hintergrund noch weiter oder wieso wird die
MySQL-Verbindung nicht automatisch gelöst?

Wenn der Besucher nicht mehr da ist, brauche ich die Abfrage ja auch
nicht weiter fortzuführen.

Irgendeine Idee, wie ich den Prozess in so einem Fall beenden kann?

Es dankt
Timo

Re: MySQL Verbindung wird nach Skript-Abbruch nicht gelöst

am 01.06.2005 00:24:53 von Hartmut Holzgraefe

Timo Gallen wrote:
> Läuft das PHP-Skript dann im Hintergrund noch weiter [...]

je nach Konfiguration ja

> Wenn der Besucher nicht mehr da ist, brauche ich die Abfrage ja auch=20
> nicht weiter fortzuführen.
>=20
> Irgendeine Idee, wie ich den Prozess in so einem Fall beenden kann?

siehe http://php.net/manual/en/ref.misc.php#ini.ignore-user-abort
und http://php.net/ignore_user_abort

--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com

Re: MySQL Verbindung wird nach Skript-Abbruch nicht gelöst

am 01.06.2005 07:09:20 von Timo Gallen

> siehe http://php.net/manual/en/ref.misc.php#ini.ignore-user-abort
> und http://php.net/ignore_user_abort

Laut phpinfo() ist der Wert ignore_user_abort = "Off".
Zur Laufzeit wird er auch nicht verändert. Trotzdem läuft die MySQL
Anfrage weiter.

Gibt es vielleicht nochetwas zu berücksichtigen?

Danke für die Antwort.
Timo

Re: MySQL Verbindung wird nach Skript-Abbruch nicht gelöst

am 27.06.2005 16:31:57 von Christian Schmelzer

Timo Gallen wrote:
>> siehe http://php.net/manual/en/ref.misc.php#ini.ignore-user-abort
>> und http://php.net/ignore_user_abort
>
> Laut phpinfo() ist der Wert ignore_user_abort = "Off".
> Zur Laufzeit wird er auch nicht verändert. Trotzdem läuft die MySQL
> Anfrage weiter.
>
Vermutlich braucht deine Datenbankabfrage so lange. MySQL scheint die
Bearbeitung eben nicht zu beenden bloss weil die Connection weg ist.

Christian