Ажлын явцад php-скриптүүд нь скриптийг гүйцэтгэхэд үр дүнг харуулах, эсвэл өгөгдлийг хуримтлуулах, скриптийн бүрэн гүйцэтгэл, скрипт дуусахыг хүлээх боломжтой. Эдгээр сонголтуудын аль нэгийг сонгох нь өгөгдлийн гаралтыг буферчлэх үүрэгтэй хувьсагчид php тайлбарлагчийн тохиргоонд өгсөн утгаас хамаарна. Үүнийг өөрчлөх хэд хэдэн арга байдаг.
Зааварчилгаа
1-р алхам
Хэрэв та сервер эсвэл сайт дээр ажиллаж байгаа бүх php скриптүүдийн гаралтын буферийг идэвхгүй болгох шаардлагатай бол үүнийг хийх хамгийн зөв арга бол php.ini файл юм. Скрипт бүрийг ажиллуулахдаа php хэлний орчуулагч энэ тохиргооны файлын тохиргоог уншдаг тул скриптүүдийн гаралтын гаралтыг буферчлэхийг идэвхгүй болгох удирдамжийг оруулах нь хамгийн оновчтой шийдэл юм. Файлыг дурын текст засварлагч дээр нээгээд хайлтын цонхыг ашиглан output_buffering гэсэн зааврыг олоорой. Үүний утга нь бүхэл тоо эсвэл логик (On эсвэл Off) хувьсагч байж болно, тиймээс анхдагч утгын оронд Off эсвэл 0 гэж оруулна уу. Хэрэв энэ удирдамж тохиргооны файлд байхгүй бол оруулгуудын төгсгөлд нэмэлт мөр нэмж оруулна уу.
output_buffering = Унтраалттай
Алхам 2
Хэрэв та тусдаа хавтас эсвэл дэд хавтасны скриптүүдийн гаралтын буферийг идэвхгүй болгох шаардлагатай бол үүнийг htaccess файлаар дамжуулан хийх нь дээр юм. Үүнийг хүссэн лавлахаас хайж олоод текст засварлагч дээр нээнэ үү. Хэрэв ийм файл хараахан байхгүй бол шинээр файл үүсгээрэй. Нэмэх ёстой удирдамж нь өмнөх алхам дээр дурдсантай төстэй боловч өмнө нь энэ нь php тохиргооны нэг болохыг тэмдэглэх хэрэгтэй. Мөр бүхэлдээ дараах байдалтай байх ёстой.
php_flag output_buffering унтраалттай байна
Үүсгэсэн htaccess файлыг удирдамжийг гүйцэтгэх лавлах шатлалын дээд хавтсанд байрлуулна уу.
Алхам 3
Нэг php скриптэд буферчлэлийг идэвхгүй болгохын тулд энэ хэлний суулгасан функцуудын аль нэгийг ашиглаарай. ob_get_flush () нь буферын одоогийн агуулгыг буцааж тэглээд тэг болгож гаралтын буферийг унтраана. ob_end_flush () нь ижил зүйлийг хийдэг боловч буферын одоогийн агуулгыг түүнийг дуудсан хувьсагч руу буцаадаггүй боловч гаралтын төхөөрөмж рүү илгээдэг. Ob_end_clean () нь буферийг унтраахаасаа өмнө одоогийн өгөгдлийг устгадаг. Эдгээр функцуудын аль нэгийг ашиглахдаа буферийг буцааж асаахаа бүү мартаарай - ob_start () функц үүнд зориулагдсан болно.