Koontz: Was ist das für ein Fehler?

Hi,

bei einem PHP-Skript von mir bekomme ich folgende Fehlermeldung:

"Fatal error: Maximum execution time of 30 seconds exceeded   in /home/www/methoden.inc on line 172"

In der Zeile befindet sich eine Methode welche normalerweise ohne Probleme funktioniert. Wodurch kommt solch ein Fehler zustande und wie kann man das i.d.R. beseitigen?
Wäre nett wenn mir jemand helfen könnte.

Gruss,
Koontz

  1. Hallo,

    "Fatal error: Maximum execution time of 30 seconds exceeded   in /home/www/methoden.inc on line 172"

    http://de3.php.net/manual/de/function.set-time-limit.php

    Wenn es vorher lief hast Du wohl etwas geändert das danach auf diese Methode zugreift und evt. unsaubere Daten liefert so dass die Methode nix mit anfangen kann und nach dem Zeitlimit wegkippt. Check doch mal was diese bekommen soll und was tatsächlich ankommt, vielleicht hilfts?

    Gruss AndreD

  2. Hallo Koontz,

    Wodurch kommt solch ein Fehler zustande

    a) Dein Script läuft in einer Endlosschleife.
    b) Dein Script braucht _sehr_ lange.

    Übrigens: die Fehlermeldung sagt doch alles aus: Nach 30 Sekunden meint PHP, das Schluss ist und beednet das Script. Die Zeile ist unerheblich, da die Ausführung wegen der verstrichenen Zeit und nicht wegen dem Code an der Stelle beendet wurde.

    und wie kann man das i.d.R. beseitigen?

    Für Fall a: Endlosschleife entfernen. (Hört sich natürlich einfacher an als gesagt ;-))
    Für Fall b: Eine Möglichkeit wäre mit http://de3.php.net/function.set-time-limit die verfügbare Zeit hochzuschrauben. (deaktivieren würde ich das Feature nicht, denn wenn Du wirklich eine Endlosschleife hast, dann siehst Du ohne alt aus) Eine viel bessere Idee wäre, den Code zu optimieren. Im Normalfall sollte ein PHP-Script bestimmt keine 30 Sekunden brauchen!

    Viele Grüße,
    Christian

    --
    Glaube niemals dem Gelabber der Forums-Antworten. Das sind doch Minderheiten-Diskriminierer, Sexisten, Psychisch Kranke und Depressive.
    Ja auch Rassisten und ähnliche Sozialrowdies befinden sich da drunter. - </archiv/2003/8/54855/#m305505>
  3. Hallo Koontz

    "Fatal error: Maximum execution time of 30 seconds exceeded   in /home/www/methoden.inc on line 172"

    Vermutlich eine Endlosschleife. Die Ausführung wurde nach 30 Sekunden von php abgebrochen.

    Gruss Martin