Hallo Andreas,
vermutlich hast Du einen direkten Lesezugriff bsw. mit file() auf die verarbeitende Datei gemacht.
Ich hoffe es ist Dir recht, daß ich ein wenig aushole:
1.
readfile() und Konsorten stellen von alleine einen formschönen
HTTP-Request, wenn PHP mit allow_url_fopen On konfiguriert ist, über
wrapper zusammen. Der Lesezugriff wird dabei automatisch mit einem
Schema versehen und an den Server zugestellt.
Jedoch sind diese Funktionen darauf ausgerichtet den Response zu
verarbeiten.
Bis zur vollständigen Ableistung des Response wird die Verarbeitung
des Scripts gestoppt.
Das macht auch Sinn, da davon auszugehen ist, das die über eine
X-read()-Funktion eingelesenen Daten verarbeitet werden wollen
(denken wir an das eigentliche Ziel DB-Daten irgendwann mal zu be-
kommen).
Im übrigen auch die Beschränkung mit ini_se('max_execution_time',1)
bringt NULL Erfolg.
2.
Prizipiell hast Du die Möglichkeit alle zu verarbeitende Datein mit
einem reellen Request der verarbeitungs.php zukommen zu lassen.
Daher kannst Du über Netzwerkfunktionen Dir einen Request selbst
zusammen bauen. http://de3.php.net/manual/de/ref.network.php
Alle zu verarbeitenden Daten mußt Du dabei von Hand anlegen.
Nur läßt Du NICHT! aus der aufgebauten Verbindung Daten auslesen,
da Du sonst nicht mehr getan hättest, als readfile() o. ä. zu
emulieren.
3.
In der Praxis ist mir das viel zu mühselig zu programmieren. Daher
lege ich die zu verarbeitenden Dateien in eine Datei ab und schicke
nur noch einen Request an die verarbeitungs.php. Diese ist der Abla-
geort und der Name der Datei bekannt. Das verkürst die exakte
Ausführung eines Request auf lediglich Drei zu sendende Zeilen.
Deine beiden Scripte sollten folgendem Prinzip folgen:
ANFRAGE.PHP
<?php
header('Location: http://localhost/');
$s=fsockopen('localhost',80);
fputs($s,"GET /verarbeitungs.php HTTP/1.1\r\n");
fputs($s,"Host: localhost\r\n");
fputs($s,"Connection: close\r\n\r\n");
fclose($s);
?>
VERARBEITUNGS.PHP
<?php
sleep(60);
touch('zzzz.txt');
?>
Wobei sleep() die lange Wartezeit simuliert. Die Datei "zzzz.txt" wird irgendwann auch mal erstellt (nur 60 secunden waren es irgendwie nie ;)
Gruß aus Berlin!
eddi
Manchmal trifft es einen doch ganz unverhofft t86591:
> '..."Vorläufig abgebrochen" ist ungefähr so sinnvoll formuliert, wie "einstweilig erschossen" oder "temporär verbrannt"...'
Ich danke Sven für diese Erkenntnis - Gott, was habe ich gelacht ;)