• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

header-Weiterleitung bei langem Script SOFORT ausführen

Tobi44

Mitglied
Hallo,

habe folgendes Problem, was mich aktuell in die Verzweiflung treibt. Konnte bislang auch keine Lösung im Google finden - im Gegenteil, dort ist das Problem von mehreren angesprochen aber keine Lösung zu finden.

Mein Benutzer startet auf einer Seite per Klick auf einen Button bzw. Link ein PHP-Script, welches
- Überprüfungen durchführt,
- bei Bestehen der Prüfungen:
- Datensätze in die DB schreibt,
- den Benutzer daraufhin per header() auf eine Seite umleiten SOLL,
- danach per exec() das Programm ffmpeg anschmeißt, was daraufhin ein Video bearbeitet und teilweise über 1 h dauert.

Leider wird mit meiner header-Weiterleitung so lange gewartet, bis das Script (exec/ffmpeg) ausgeführt ist. Dabei möchte ich doch nur, dass der Benutzer direkt auf die Bestätigungsseite umgeleitet wird.

Eine Konstellation wie folgt hat bei mir im Opera (nur getestet mit Version 12) problemlos funktioniert. Leider nicht in allen gängigen Browsern.
PHP:
// Datenbankeinträge etc...

redirect("home/private.php?received=$random"); 
ob_end_clean();
header("Connection: close");
ignore_user_abort(true);
ob_end_flush();
flush();

exec() .....

Frage verallgemeinert: Wie bekomme ich eine Umleitung hin, ohne dass bis auf das Ende des Scriptes damit gewartet wird?
 
Werbung:
Ruf das Script doch einfach per Javascript im Hintergrund auf. Dann kannst du mittels Ajax auch alle paar Sekunden/Minuten den Status abfragen... wenn das Script Ausgaben erzeugt zumindest.

MfG
 
Hallo,

das ist eine gute Idee. Werde mal schauen, ob ich einen ajax-Aufruf hinbekomme und ob PHP das Script bzw. Programm tatsächlich dann auch korrekt im Hintergrund ausführt.

Gruß
 
Werbung:
Zurück
Oben