Hallo ihrs,
eine Frage zu PHP's exec()-Befehl:
Ich habe ein Script(script1.php), das ein Weiteres(script2.php) per exec() aufruft. Nun würde ich aber gerne script2.php im Hintergrund ablaufen lassen. D.h. script2.php wird gestartet und läuft und läuft und läuft, ich kann derweil aber schon mit script1.php weiterarbeiten und dessen Ausgaben nach dem Start von script2.php sehen, die Seite wechseln etc.
Momentan habe ich es so umgesetzt: exec("script2.php parameter1 parameter2"); was jedoch den Zweck nicht erfüllt, da script1.php solange weiterläuft, bis script2.php fertig ist(set_time_limit(0) ist gesetzt).
Nun habe ich folgendes gefunden:
Ist das die Lösung? Heisst das: Starte script2.php und lass es im Hintergrund laufen, beende script1.php ganz normal und zeige dessen Ausgaben im Browser an?
Danke für eure Hilfe.
eine Frage zu PHP's exec()-Befehl:
Ich habe ein Script(script1.php), das ein Weiteres(script2.php) per exec() aufruft. Nun würde ich aber gerne script2.php im Hintergrund ablaufen lassen. D.h. script2.php wird gestartet und läuft und läuft und läuft, ich kann derweil aber schon mit script1.php weiterarbeiten und dessen Ausgaben nach dem Start von script2.php sehen, die Seite wechseln etc.
Momentan habe ich es so umgesetzt: exec("script2.php parameter1 parameter2"); was jedoch den Zweck nicht erfüllt, da script1.php solange weiterläuft, bis script2.php fertig ist(set_time_limit(0) ist gesetzt).
Nun habe ich folgendes gefunden:
PHP-Code:
exec('script2.php parameter1 parameter2 >/dev/null &2>/dev/null &');
Danke für eure Hilfe.
Kommentar