Dalam proses kerja, skrip php dapat menampilkan hasil ketika skrip dijalankan, atau mengumpulkan data, menunggu pelaksanaan skrip lengkap dan penyelesaian skrip. Pemilihan salah satu pilihan ini bergantung pada nilai yang diberikan dalam tetapan pentafsir php kepada pemboleh ubah yang bertanggungjawab untuk penyangga output data. Terdapat beberapa cara untuk mengubahnya.
Arahan
Langkah 1
Sekiranya anda perlu mematikan buffering output untuk semua skrip php yang berjalan di pelayan atau di laman web, cara yang paling tepat untuk melakukannya adalah melalui fail php.ini. Semasa melancarkan setiap skrip, jurubahasa bahasa php membaca tetapan dari file konfigurasi ini, sehingga menempatkan di dalamnya arahan untuk menonaktifkan penyanggaan output output skrip adalah penyelesaian yang paling optimum. Buka fail di mana-mana editor teks dan gunakan dialog carian untuk mencari arahan yang disebut output_buffering. Nilainya boleh berupa pembolehubah bilangan bulat atau logik (Aktif atau Mati), jadi bukannya nilai lalai, masukkan Mati atau 0. Jika arahan ini tidak ada dalam fail konfigurasi, tambahkan baris tambahan ke akhir entri:
output_buffering = Mati
Langkah 2
Sekiranya anda perlu mematikan buffering output untuk skrip folder yang berasingan atau sekumpulan subfolder, lebih baik melakukannya melalui fail htaccess. Cari di direktori yang diinginkan dan buka di editor teks. Sekiranya belum ada fail seperti itu, buat yang baru. Arahan yang harus ditambahkan serupa dengan yang dijelaskan pada langkah sebelumnya, tetapi sebelum itu anda perlu memberi tanda bahawa ini adalah salah satu tetapan php. Seluruh garis kelihatan seperti ini:
php_flag output_buffering dimatikan
Letakkan fail htaccess yang dibuat di folder atas hierarki direktori yang arahannya akan dijalankan.
Langkah 3
Untuk mematikan buffering dalam satu skrip php, gunakan salah satu fungsi bawaan bahasa ini. ob_get_flush () mengembalikan kandungan buffer semasa, kemudian nol keluar dan mematikan buffering output. ob_end_flush () melakukan hal yang sama, tetapi tidak mengembalikan kandungan buffer semasa ke pemboleh ubah yang memanggilnya, tetapi mengirimkannya ke peranti output. Ob_end_clean () hanya menghapus data semasa sebelum mematikan buffering. Semasa menggunakan salah satu fungsi ini, jangan lupa untuk menghidupkan semula buffering - fungsi ob_start () adalah untuk ini.