Hallo!
Das Problem ist halt das die Schleife, so schnell hintereinander aufgerufen wird, das es voll lange braucht (...)
Ist Dir nicht aufgefallen, wie wiedersinnig dieser Satz ist, als Du ihn geschrieben hast? Etwas ist so schnell, dass es sehr langsam wird? So wie Napoleon, der seinem Kutscher sagte: "fahre er langsam, ich habe es eilig"?
Ähhh ok da hast du wohl recht. Ok dann halt vll ich weiß nicht genau wo drann es liegt, aber es dauert ellen lange bis die echos ausgegeben werden ;)
Es dürfte vielleicht daran liegen, dass Du ständig neue Curl-Instanzen aufbaust. Warum verwendest Du nicht das dafür gedachte Multi-Interface von Curl?
Wäre das so richtig?
$ch = curl_multi_init();
foreach ($array as $proxy) {
// erzeuge einen neuen cURL-Handle
$mh = curl_init($host);
// setze die URL und andere Optionen
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //TRUE um den Tranfer als String zurückzuliefern, anstatt ihn direkt auszugeben.
curl_setopt($ch, CURLOPT_USERAGENT, $useragent); //Useragent Mozilla/5.0 (Windows; U; Windows NT 5.1;....
curl_setopt($ch, CURLOPT_TIMEOUT, 5); //Die Anzahl Sekunden, die der Verbindungsaufbau maximal dauern darf; 0 = max.
curl_setopt($ch, CURLOPT_PROXY, $proxy); //Der HTTP-Proxy, durch den Requests getunnelt werden sollen.
curl_multi_add_handle ($mh,$ch);
}
do { $n=curl_multi_exec($mh,$active); } while ($active);
foreach ($array as $proxy) {
$result=curl_multi_getcontent($ch);
curl_multi_remove_handle($mh,$ch);
curl_close($ch);
if (stripos($result, '404 Not Found') !== false){
echo '<div font-size:14px;"><b>Fehler</b>: Fehler 404 Seite nicht gefunden!</div><br>';
}
}
curl_multi_close($ch);