Dalam usaha anda untuk menyambung ke kamera web dan menyampaikan data melalui skrip geganti, anda' telah menghadapi isu penimbalan yang tidak diingini. Untuk menangani halangan ini, mari kita mendalami secara spesifik mekanisme penimbalan PHP dan potensi kesannya pada skrip anda.
Lapisan pertama penimbalan anda Akan ditemui ialah "penampan output", yang secara eksklusif menguruskan output yang ditakdirkan untuk badan tindak balas, meninggalkan pengepala tidak terjejas. Secara lalai, PHP menimbal sehingga 4096 bait dalam penimbal ini, membuangnya apabila ambang itu dilanggar atau apabila penyataan gema dan tindakan penjanaan output yang serupa berlaku.
Untuk mengatasi kelakuan lalai ini, anda boleh memilih untuk melumpuhkan output penimbalan sama sekali dengan menetapkan arahan output_buffering kepada Mati dalam fail php.ini anda. Sebagai alternatif, anda boleh melumpuhkannya untuk skrip individu dengan menggunakan ob_end_clean() atau ob_end_flush() lebih awal.
Di luar output penimbal terletak lapisan penimbal tambahan yang dikenali sebagai "penyangga tulis", yang berfungsi bersama-sama dengan mana-mana penimbal yang digunakan oleh pelayan web anda. Apabila menggunakan Apache dengan mod_php (tanpa mod_gzip), menggunakan flush() membantu anda, mengalirkan output ke penyemak imbas. Bahagian belakang lain mungkin menyokong ini juga, walaupun manual PHP tidak menawarkan jaminan.
Akhir sekali, anda mempunyai dua cara untuk mencetuskan secara automatik flush() panggilan selepas setiap tindakan output:
Dengan cerapan ini yang anda boleh gunakan, anda mempunyai cara untuk menangani isu penimbalan yang melanda skrip geganti anda dan membuka jalan bagi data yang lancar penstriman.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Lumpuhkan Penimbalan Output dalam PHP untuk Menstrim Data daripada Kamera Web Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!