Чыгуу буферин кантип өчүрсө болот

Мазмуну:

Чыгуу буферин кантип өчүрсө болот
Чыгуу буферин кантип өчүрсө болот

Video: Чыгуу буферин кантип өчүрсө болот

Video: Чыгуу буферин кантип өчүрсө болот
Video: КАНТИП ВАТСАПТАН ЗАБЛОКТОН ЧЫКСА БОЛОТ. ВАТСАПТАН ЗАБЛОКТОН ЧЫГУУ. ВАТСАПТЫН СЫРЛАРЫ #3 2024, Май
Anonim

Иш процессинде 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 () функциясы иштейт.

Сунушталууда: