Jak Wyłączyć Buforowanie Wyjściowe?

Spisu treści:

Jak Wyłączyć Buforowanie Wyjściowe?
Jak Wyłączyć Buforowanie Wyjściowe?
Anonim

W trakcie pracy skrypty php mogą wyświetlać wyniki podczas wykonywania skryptu lub gromadzić dane, czekając na pełne wykonanie skryptu i zakończenie skryptu. Wybór jednej z tych opcji zależy od wartości przypisanej w ustawieniach interpretera php zmiennej odpowiedzialnej za buforowanie wyjścia danych. Można to zmienić na kilka sposobów.

Jak wyłączyć buforowanie wyjściowe?
Jak wyłączyć buforowanie wyjściowe?

Instrukcje

Krok 1

Jeśli musisz wyłączyć buforowanie wyjścia dla wszystkich skryptów php działających na serwerze lub w witrynie, najodpowiedniejszym sposobem na zrobienie tego jest użycie pliku php.ini. Przy uruchamianiu każdego skryptu interpreter języka php odczytuje ustawienia z tego pliku konfiguracyjnego, więc umieszczenie w nim dyrektywy wyłączającej buforowanie wyjścia wyjścia skryptów jest najbardziej optymalnym rozwiązaniem. Otwórz plik w dowolnym edytorze tekstu i użyj okna dialogowego wyszukiwania, aby znaleźć dyrektywę o nazwie output_buffering. Jej wartością może być zmienna całkowita lub logiczna (On lub Off), więc zamiast wartości domyślnej wpisz Off lub 0. Jeśli tej dyrektywy nie ma w pliku konfiguracyjnym, dodaj dodatkowy wiersz na końcu wpisów:

buforowanie_wyjściowe = Wyłączone

Krok 2

Jeśli musisz wyłączyć buforowanie wyjścia dla skryptów osobnego folderu lub grupy podfolderów, lepiej zrobić to za pomocą pliku htaccess. Znajdź go w żądanym katalogu i otwórz w edytorze tekstu. Jeśli nie ma jeszcze takiego pliku, utwórz nowy. Dyrektywa, którą należy dodać, jest podobna do tej opisanej w poprzednim kroku, ale przed nią należy zaznaczyć, że jest to jedno z ustawień php. Cała linia powinna wyglądać tak:

php_flag output_buffering wyłączone

Umieść utworzony plik htaccess w górnym folderze hierarchii katalogów, dla której ma zostać wykonana dyrektywa.

Krok 3

Aby wyłączyć buforowanie w pojedynczym skrypcie php, użyj jednej z wbudowanych funkcji tego języka. ob_get_flush () zwraca bieżącą zawartość bufora, a następnie wyzerowuje go i wyłącza buforowanie wyjścia. ob_end_flush() robi to samo, ale nie zwraca bieżącej zawartości bufora do zmiennej, która go wywołała, ale wysyła ją do urządzenia wyjściowego. Ob_end_clean () po prostu usuwa bieżące dane przed wyłączeniem buforowania. Używając jednej z tych funkcji, nie zapomnij ponownie włączyć buforowania - służy do tego funkcja ob_start().

Zalecana: