Heim > Backend-Entwicklung > PHP-Tutorial > Wie führe ich PHP-Vorgänge aus, nachdem ich eine HTTP-Antwort gesendet habe?

Wie führe ich PHP-Vorgänge aus, nachdem ich eine HTTP-Antwort gesendet habe?

Linda Hamilton
Freigeben: 2024-11-17 11:17:02
Original
362 Leute haben es durchsucht

How to Run PHP Operations After Sending an HTTP Response?

Ausführen von PHP-Vorgängen nach dem Senden einer HTTP-Antwort

In PHP 5.2 kann das Senden einer HTTP-Antwort bei Ausführung als mod_php eine lang laufende Datenbank unterbrechen Anfragen und E-Mail-Bearbeitung. Um dieses Problem zu beheben, kann man eine Technik verwenden, die es PHP ermöglicht, eine vollständige HTTP-Antwort an den Client zu senden und dann die Ausführung von Vorgängen für eine zusätzliche Dauer fortzusetzen.

Das folgende Snippet erreicht dies:

ob_end_clean();
header("Connection: close");
ignore_user_abort(); // optional
ob_start();
echo ('Text the user will see');
$size = ob_get_length();
header("Content-Length: $size");
ob_end_flush(); // Strange behaviour, will not work
flush();            // Unless both are called !
session_write_close(); // Added a line suggested in the comment
// Do processing here 
sleep(30);
echo('Text user will never see');
Nach dem Login kopieren

Bei der Ausführung sendet das Skript sofort eine vollständige HTTP-Antwort an den Client. Anschließend beginnt es im Hintergrund mit der Verarbeitung der Datenbankanfragen und E-Mails, was bis zu einer Minute dauern kann. Beachten Sie, dass die Benutzerinteraktion unterbrochen wird, sobald die Antwort gesendet wird.

Das obige ist der detaillierte Inhalt vonWie führe ich PHP-Vorgänge aus, nachdem ich eine HTTP-Antwort gesendet habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage