maximum execution time - Fehler abfangen (eigene Fehlermeldung)

maximum execution time - Fehler abfangen (eigene Fehlermeldung)

am 31.08.2005 11:31:12 von Thomas Binder

Ich möchte einen umfangreichen Datenbankauftritt auf CD verteilen.
Das klappt auch alles wunderbar (microweb sei dank!).
Da alles komplett von CD gestartet werden muss, haben langsame PCs
mitunter Probleme, bei umfangreichen Suchen die Abfragen ohne
PHP-Timeout zu Ende zu bringen.
Für diese Leute (alles absolute Laien) möchte ich nicht die
Standard-PHP-Meldung bringen, sondern eine eigene Fehlermeldung
anzeigen.

Mein bisheriger Code:
-- schnipp --
error_reporting(0);
function getErrorHandler($errno, $errmsg, $filename, $linenum, $vars) {

echo $errmsg;
}
set_error_handler("getErrorHandler");
-- schnapp --

Der zeigt brav alle PHP-Meldungen an, leider bleibt er beim
interessantesten weiß!
Jetzt bin ich etwas ratlos, ob ich überhaupt die Fehlermeldung
bearbeiten kann, da ja der PHP-Interpreter beim Timeout sich selber
beendet und danach wohl keinen Befehl mehr ausführt.

Was kann ich tun?

Re: maximum execution time - Fehler abfangen (eigene Fehlermeldung)

am 31.08.2005 12:41:19 von Helmut Chang

Thomas Binder schrieb:
> Ich möchte einen umfangreichen Datenbankauftritt auf CD verteilen.
> Das klappt auch alles wunderbar (microweb sei dank!).
> Da alles komplett von CD gestartet werden muss, haben langsame PCs
> mitunter Probleme, bei umfangreichen Suchen die Abfragen ohne
> PHP-Timeout zu Ende zu bringen.
> ...
> Was kann ich tun?

Gar keinen Timeout verursachen?

ini_set, max_execution_time.

gruss, heli

Re: maximum execution time - Fehler abfangen (eigene Fehlermeldung)

am 31.08.2005 12:53:21 von Thomas Binder

Helmut Chang schrieb:

> Thomas Binder schrieb:
> > Ich möchte einen umfangreichen Datenbankauftritt auf CD verteilen.
> > Das klappt auch alles wunderbar (microweb sei dank!).
> > Da alles komplett von CD gestartet werden muss, haben langsame PCs
> > mitunter Probleme, bei umfangreichen Suchen die Abfragen ohne
> > PHP-Timeout zu Ende zu bringen.
> > ...
> > Was kann ich tun?
>
> Gar keinen Timeout verursachen?
>
> ini_set, max_execution_time.

Das hilft leider nicht weiter. Schon mal eine umfangreiche DB-Abfrage
mit einem aus Windows95-Zeiten stammenden Rechner mit 2-fach CD-Rom
versucht?

Nein, ich brauch eine andere Fehlermeldung als
-- schnipp --
Fatal error: Maximum execution time of XX second exceeded in YY.php on
line ZZ
-- schnapp --
Weil bei einer solchen Meldung sind diese Leute erst recht
verunsichert. Die CD wird in hoher Auflage verteilt und gerade diese
Leute sollen dazu animiert werden, das Produkte online zu nutzen!

danke!
Thomas.