Die schnellere alternative zu file_get_contents()

Derzeit bin ich mit file_get_contents() zu übermitteln die Daten an ein array von Websites, aber nach der Ausführung der Seite bekomme ich diesen Fehler:

Fatal error: Maximum execution time von 30 Sekunden überschritten

Alles, was ich wirklich will, das Skript zu starten laden Sie die Webseite, und dann verlassen. Jede Webseite kann bis zu 5 Minuten zum laden voll, und ich brauche es nicht zu laden voll.

Hier ist, was ich derzeit habe:

        foreach($sites as $s) //Create one line to read from a wide array
        {
                file_get_contents($s['url']); //Send to the shells
        }

EDIT: klar, keine Verwirrung, dieses Skript verwendet wird, um die start-Skripte auf anderen Servern, die keine Daten zurückgeben.

EDIT: ich bin jetzt versucht, cURL, den trick zu tun, indem Sie ein timeout von einer Sekunde zu machen, senden Sie die Daten und beenden Sie dann. Hier ist mein code:

        $ch = curl_init($s['url']); //load the urls
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); //Only send the data, don't wait.
        curl_exec($ch); //Execute
        curl_close($ch); //Close it off.

Vielleicht habe ich die option falsch. Ich bin auf der Suche durch einige Anleitungen, wie wir sprechen. Nur geben Sie ein update. Danke Euch allen, das hilft mir so weit.

EDIT: Ah, habe das problem gefunden. Ich war mit CURLOPT_CONNECTTIMEOUT statt CURLOPT_TIMEOUT. Hoppla.

Aber jetzt, die Skripts sind nicht auslösen. Verwenden Sie jeweils ignore_user_abort(TRUE); so kann ich nicht verstehen, das problem

Hah, scratch, dass. Nun funktioniert. Danke Euch allen

Sie haben versucht mit curl?
Nein, ich habe keine Erfahrung mit cURL. Wollte, es zu tun mit etwas, das ich zumindest ein wenig Erfahrung mit. Denken Sie, ich sollte Schrott das mit php und gehen mit cURL?
was genau macht die Webseite? Sie wollen nur, dass es ein Skript starten, dass sollte von alleine laufen, die keine Daten zurückgibt?
Valamo: ja, genau.
es muss noch laufen, obwohl, richtig? Das bedeutet, dass es muss warten, bis die remote-site senden von Daten? Sie konnte nicht einfach die URL aufrufen, die zum auslösen eines remote-scripting-Aktion und dann verwerfen Sie alle Daten, die er sendet?

InformationsquelleAutor Rob | 2010-04-18

Schreibe einen Kommentar