Zeitüberschreitung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeitüberschreitung

    Hi erstmal!

    Ich bin gerade dabei ein Gästebuch zu programmieren, dass auf Textdateien basiert. Ich hatte schon einmal eins gemacht und da gab's keine Probleme.
    Aber jetzt bekomme ich jedes mal diese Fehlermeldung:
    Fatal error: Maximum execution time of 5 seconds exceeded in /raid/domains/de/h/hguenther/htdocs/phptest/active/gbook/bookindex.php on line 68

    Manchmal auch 69 oder 67 aber sonst immer die selbe Zeile.
    Er gibt schon das aus was er soll, aber dieser Fehlertext nervt.

    Der Code in diesem Bereich ist so:

    PHP-Code:
    for ($i=$anzahl;$i>=0;$i--) {   //Zeile 63
            
    $datname .= "_";  // 64
            
    $datname $datname.$i;  // 65
            
    $datname $datname.".txt";  // 66 
            
    $fp fopen($datname,"r++");  // 67 
            
    while (!feof($datname)) {  // 68
              
    $inhalt fgets($fp,200);  // 69
              
    echo $inhalt;  // 70
            
    }  // 71
            
    fclose($fp);  // 72
    }  // 73 
    Ihr braucht auch nichts über Umständlichkeit zu sagen, dass ist absicht wegen der Übersicht für mich als relativer Anfänger. Wenn ihr jedoch Tipps habt, die ich unbedingt beachten sollte, dann sagt es mir!

    Danke für jegliche Hilfe
    MfG
    Daniel
    ====================
    ||http://daniel.hguenther.de||
    ====================

  • #2
    also ich bin mir nicht so ganz sicher; aber wenn ich einen schreibtischtest deines codes durchführe dann habe ich in der variablen datname beim ersten duchlauf
    _
    _10
    _10.txt
    beim zweiten

    _10.txt_
    _10.txt_9
    _10.txt_9.txt
    ...
    oder sehe ich das irgendwie falsch


    hast du mal ein echo"datname" vor die dateibefehle gesetzt und diese auskommentiert?

    Kommentar


    • #3
      Das war nicht der fehler, den habe ich eben gefunde aber, danke für den hinweis! Der muss auch noch behoben werden.
      MfG
      Daniel
      ====================
      ||http://daniel.hguenther.de||
      ====================

      Kommentar


      • #4
        Der "Fehler" liegt nicht an Deinem Script und ist gar kein Fehler, sondern eine Einstellung in der ini-Datei des Servers.

        Der Wert "maximum execution time " sagt (wie der Name ja schon sagt *g*) aus, wie lange ein Script Rechenzeit in Anspruch nehmen darf, bevor es vom Server abgebrochen wird. Bei Deinem Server steht das wohl auf nur 5 Sekunden (30 Sekunden ist der Standardwert).
        Dieser Einstellung ist sinnvoll, denn dann können falsch oder schlecht programmierte Scripte nicht den Server für immer und ewig blockieren (Endlosschleifen z.b.).
        Hoffentlich ist das nur bei Deinem lokalen Server so eingestellt und nicht bei Deinem Hoster, denn dann würde ich mir einen anderen suchen (5 Sekunden finde ich arg "streng" ).

        Kommentar


        • #5
          P.S.: Wenn Du die komplette Datei einlesen willst, dann mache das doch so:
          PHP-Code:
          $inhalt=file($datname); 
          Da sparst Du dann die zweite Schleife.
          Außerdem kannst Du nach der Ausgabe noch ein flush(); einfügen - dann siehst Du, wie weit das Script gekommen ist, bevor es abgebrochen wurde.

          Kommentar


          • #6
            Das ist so bei meinem Host! Aber es war ein fehler mit dabei. Ich hätte while(!feof($fp)) {
            machen müssen!
            MfG
            Daniel
            ====================
            ||http://daniel.hguenther.de||
            ====================

            Kommentar


            • #7
              Na dann wünsche ich Dir aber viel Vergügen, wenn Du mal bei Deinem Hoster ein MySQL-Backup per PHPMyAdmin zurückspielen willst. *g*

              Kommentar

              Lädt...
              X