Derzeit ist ich mit file_get_contents() GET-Daten zu einer Reihe von Websites zu unterbreiten, aber bei der Ausführung der Seite bekomme ich diesen Fehler:schnellere Alternative zu file_get_contents()
Fatal error: Maximale Ausführungszeit von 30 Sekunden überschritten
Alles, was ich wirklich möchte das Skript zu tun ist, laden Sie die Webseite, und dann verlassen. Es kann bis zu 5 Minuten dauern, bis jede Webseite vollständig geladen ist, und ich brauche sie nicht vollständig zu laden.
Hier ist, was ich derzeit haben:
foreach($sites as $s) //Create one line to read from a wide array
{
file_get_contents($s['url']); // Send to the shells
}
EDIT: keine Verwirrung zu löschen, dieses Skript verwendet wird, um Skripte auf anderen Servern zu starten, die keine Daten zurück.
EDIT: Ich versuche jetzt cURL, um den Trick zu tun, indem Sie eine Zeitüberschreitung von einer Sekunde, damit es die Daten senden und dann stoppen. 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 eingestellt. Ich sehe gerade einige Handbücher durch, während wir sprechen. Ich gebe Ihnen nur ein Update. Danke euch allen, die mir bisher geholfen haben.
EDIT: Ah, das Problem gefunden. Ich habe CURLOPT_CONNECTTIMEOUT anstelle von CURLOPT_TIMEOUT verwendet. Hoppla.
Nun jedoch, die Skripte werden nicht ausgelöst. Sie verwenden jeweils ignore_user_abort (TRUE); so kann ich das Problem nicht verstehen
Hah, kratzen Sie das. Funktioniert jetzt. Vielen Dank jeder
Haben Sie versucht, locken mit? –
Nein, ich habe keine Erfahrung mit cURL. Wollte es mit etwas machen, mit dem ich zumindest ein bisschen Erfahrung habe. Du denkst ich sollte das mit php verwerfen und mit cURL gehen? – Rob
Was genau macht die Webseite? Möchten Sie nur, dass es ein Skript startet, das von selbst ausgeführt werden sollte, das keine Daten zurückgibt? –