Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mencapai Pembilasan Output Masa Nyata dalam PHP untuk Log Langsung?

Bagaimana untuk Mencapai Pembilasan Output Masa Nyata dalam PHP untuk Log Langsung?

DDD
Lepaskan: 2024-12-22 14:38:11
asal
310 orang telah melayarinya

How to Achieve Real-Time Output Flushing in PHP for Live Logs?

Output Flushing dalam PHP: Memaparkan Log Langsung Semasa Pemprosesan

Dalam PHP, selalunya wajar untuk memaparkan output kepada penyemak imbas pengguna sebagai skrip proses, dan bukannya menunggu keseluruhan skrip selesai. Ini boleh berguna untuk memaparkan log atau kemas kini kemajuan dalam masa nyata. Walau bagaimanapun, secara lalai, PHP menimbal output, bermakna ia tidak dihantar kepada klien sehingga akhir skrip.

Adakah 'ob_flush()' Cukup?

A pendekatan biasa untuk mengeluarkan output selepas setiap panggilan gema ialah menggunakan fungsi ob_flush(). Walau bagaimanapun, ini hanya sebahagiannya menyelesaikan masalah. Walaupun ia mengepam penimbal output, ia sebenarnya tidak menghantar data kepada pelanggan.

PHP atau Apache Fault? Menyiasat Masalah

Jika ob_flush() tidak berfungsi, ia boleh menjadi masalah sama ada dengan konfigurasi PHP atau tetapan Apache. Untuk menyemak konfigurasi PHP, jalankan arahan berikut:

php -i | grep output_buffering
Salin selepas log masuk

Ini sepatutnya menunjukkan sama ada penimbalan output didayakan dan saiz penimbal. Jika penimbalan output dilumpuhkan, itu bukan punca masalah.

Penyelesaian Terunggul

Penyelesaian muktamad kepada isu ini terletak pada menetapkan saiz penimbal output kepada 0 . Ini memberitahu PHP untuk menghantar output kepada pelanggan dengan segera tanpa menimbalnya.

ini_set('output_buffering', 0);
Salin selepas log masuk

Akhir Fikiran

Dengan menetapkan saiz penimbal output kepada 0, anda boleh memastikan bahawa output dipadamkan selepas setiap panggilan gema, membolehkan pengguna melihat log atau kemas kini kemajuan anda dalam masa nyata.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Pembilasan Output Masa Nyata dalam PHP untuk Log Langsung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan