Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeitüberschreitung bei file_get_contents

Einklappen

Neue Werbung 2019

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

  • Zeitüberschreitung bei file_get_contents

    Hallo

    ich habe ein Problem mit file_get_contents. Ich hole Informationen von einer anderen Internetseite (Ja ich habe die Erlaubniss dafür!). Da diese Seiten aber erst erzeugt werden, kommt es in wenigen fällen dazu, dass die Erzeugung langsamer ist als die Maximum_execution_Time erlaubt.
    Da ich diese nicht verändern kann, ist meine Frage ob es eine Möglichkeit gibt
    file_gets_content bei nicht gelingen nochmals aufzurufen ohne das gleich ein FATAL ERROR erzeugt wird. Oder ob es andere bessere Möglichkeiten gibt.

    Gruß und Danke im Vorraus
    Mephistoathell


  • #2
    Hastes mal mit fopen probiert? Geht glaub ich auch für externe Seiten.
    mit ini_set() kannste die execution_time nicht runtersetzen?
    "My software never has bugs, it just develops random features."
    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

    Kommentar


    • #3
      Sonst CURL?!
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar


      • #4
        Danke für die schnellen Antworten.
        Mit ini_set() umgehe ich ja das Problem nur (genauso wie wenn ich die max_execution_time in php.ini manuel hochsetzen würde.)
        Mir wäre eine Lösung lieb, wo ich prüfen kann ob ein Fehler vorliegt und wenn ja das ich weitermachen kann ohne, dass das Script abbricht.

        Kommentar


        • #5
          Das Problem ist, dass wenn die execution_time, memory_limit oä. überschritten werden, man das mit PHP nicht anfangen kann, selbst mit einem eigenen error_handler.
          Das ist eigentlich IMHO Gang und Gäbe das wenn ein bestimmtes Script länger braucht oder mehr Memorty benötigt, dass dies dann auch die Änderungen bekommt, sprich execution_time auf 0 setzen oder erhöhen bis es reicht, bzw. mehr Spreicher zuweisen.
          "My software never has bugs, it just develops random features."
          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

          Kommentar


          • #6
            Danke für die Info, dann werde ich es wohl auf diesem Weg lösen müssen.

            Kommentar


            • #7
              Zitat von Mephistoathell Beitrag anzeigen
              Da ich diese nicht verändern kann, ist meine Frage ob es eine Möglichkeit gibt file_gets_content bei nicht gelingen nochmals aufzurufen ohne das gleich ein FATAL ERROR erzeugt wird.
              Einen Timeout kann man über den dritten Parameter mitgeben.
              PHP: file_get_contents - Manual

              Kommentar


              • #8
                Mhm du hast 3 mal file_gets_content geschrieben =/ =/ Du weißt dass der Befehl PHP: file_get_contents - Manual heißt ?
                Ansonsten kannst cURL oder fsockopen o.Ä. benutzen
                "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

                Kommentar


                • #9
                  Ups ja natürlich. Heißt es file_get_contents. Sorry, das kommt davon wenn man Editoren mit automatischer Vervollständigung nutzt und dazu noch eine leichte Lese-rechtschreibschwäche. Aber danke für den Hinweis.

                  Kommentar


                  • #10
                    Wenn die Generierung dieser Seite so lange dauert - Hast Du keine andere Möglichkeit (z. B. wget)? Oder Du lässt in bestimmten Intervallen einen Cronjob laufen, der diese Seite abruft und irgendwo speichert. Das setzt allerdings den Zugriff auf die max_execution_time voraus.

                    Kommentar


                    • #11
                      Erstmal großen Dank für die viele Hilfe und Ideen die man hier in kürzester Zeit bekommt.

                      Werde es mal mit cUrl probieren und kann gerne hier berichten wie es funktioniert hat, wenn Interesse besteht.

                      Kommentar

                      Lädt...
                      X