Hallo zusammen!
Nachdem mir hier vor zwei Tagen schon so super geholfen wurde, will ich es mal etwas schwieriger machen! :-)
Hier erstmal mein PHP script:
Code:
<?php
error_reporting(E_ALL);
$dl=0;
$k=0;
init();
function init()
{
global $k;
if ($k==10)
{
$k=0;
$datei1 = fopen("start_stop.txt", "r");
$read=fread($datei1,10);
fclose($datei1);
if ($read=="stop")
{
exit();
}
usleep(20000);
}
$k++;
read();
}
function read()
{
global $dl;
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://xxx.xxx.xxx.xxx:8088/client/wert_akt.html");
//curl_setopt ($curl, CURLOPT_URL, "http://xxx.xxx.xxx.xxx:8080/test.html");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
curl_close ($curl);
//$test=fopen("wert_akt.html","r");
//$result=fread($test,500);
//fclose($test);
usleep(20000);
$datei = fopen("test.txt", "a");
$dl++;
$x=0;
if(preg_match_all("!\<td\>(.*?)\</td\>!",$result,$table,PREG_SET_ORDER))
{
for ( $i = 0; $i < count($table); $i++ )
{
$ta=$table[$i][1];
$ausgabe=$ta."\t";
fwrite($datei,$ausgabe);
$x++;
if ($x==4)
{
$ausgabe=$dl."\n";
fwrite($datei,$ausgabe);
$x=0;
}
}
}
fclose($datei);
usleep(20000);
init();
}
?>
Im Groben geht es darum das ich das Script über einen Web browser anstoße indem ich es aufrufe, und in eine Text datei "start" schreibe, das script überprüft regelmäßig ob ich das script über den Webbrowser angehalten habe in diesem fall schreibe ich über den Browser Stop in die .txt! Das script soll erstmal endlos auf dem server laufen, bis ich es stoppe, ohne das der Client mit ihm Verbunden ist! Später soll es sich nach einer gewissen Zeit (24 std) selber beenden und wieder starten, aber darum geht es momentan nicht! Es geht also um eine Zyklische Aufzeichnung von Daten die in der wert_akt.html hinterlegt sind und sich bei jedem aufruf(fopen) aktualisieren! Diese Daten schreibe ich fortlaufend in die test.txt.das funktioniert so weit ganz gut!
Nun zum Problem:
Das script meldet nach genau 672 Zugriffen (speicher ich als laufvariable $dl ind der test.txt) auf die test.txt bzw. nach 672 Curl aufrufen den windows fehler:
httpd.exe hat einen Fehler verursacht und wird geschlossen!
Diese Fehlermeldung ist zeitlich total unabhängig, da ich das script mit unterschiedlichen usleep() und sleep() verzögerung verlangsamt und beschleunigt (100ms bis 2s) habe aber es immer nach genau 672 Zugriffen abbricht! Auch die max.execution Time des scriptes ist so hoch, das sie nicht abläuft!
Die Httpd.exe ist mein Apache Server auf dem das PHP Script läuft, aber ich habe keinen Plan wo das problem liegen könnte!
Hat irgend jemand eine Idee wo das Problem liegt?????
Vielen Dank schonmal!
Gruß