Bagaimana untuk Menjalankan Operasi PHP Selepas Menghantar Respons HTTP?

Linda Hamilton
Lepaskan: 2024-11-17 11:17:02
asal
299 orang telah melayarinya

How to Run PHP Operations After Sending an HTTP Response?

Melaksanakan Operasi PHP Post HTTP Penghantaran Response

Dalam PHP 5.2, apabila berjalan sebagai mod_php, menghantar respons HTTP boleh mengganggu pangkalan data yang berjalan lama permintaan dan pemprosesan e-mel. Untuk menangani isu ini, seseorang boleh menggunakan teknik yang membolehkan PHP menghantar respons HTTP yang lengkap kepada klien dan kemudian terus melaksanakan operasi untuk tempoh tambahan.

Coretan berikut menyelesaikannya:

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');
Salin selepas log masuk

Setelah dilaksanakan, skrip segera menghantar respons HTTP lengkap kepada klien. Ia kemudiannya mula memproses permintaan pangkalan data dan e-mel di latar belakang, yang boleh mengambil masa sehingga satu minit. Harap maklum bahawa interaksi pengguna akan terputus sebaik sahaja respons dihantar.

Atas ialah kandungan terperinci Bagaimana untuk Menjalankan Operasi PHP Selepas Menghantar Respons HTTP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan