2011-01-06 16 views
8

Jakie są metody włączania buforowania wyjściowego w skrypcie PHP lub przy użyciu pliku htaccess?Buforowanie wyjściowe PHP

używam następujące metody w pliku .htaccess w katalogu głównym mojej aplikacji:

php_value output_buffering On 
php_value output_handler mb_output_handler 

Na jednym z moich współdzielonych kont hostingowych (Linux hosting z PHP 5.2.x), powyższe daje pustą stronę . Wsparcie techniczne mówi, że nie można go włączyć w pliku php.ini, ale mogę go włączyć w moim skrypcie ...

ob_start() i ob_end_flush() również dają taki sam wynik. Co mogę zrobić?

+1

Jeśli otrzymasz puste strony, zajrzyj do pliku 'error.log'. Czy ustawiłeś kodowanie wyjścia (http://php.net/manual/en/function.mb-output-handler.php) przed aktywacją mb_output_handler? – mario

+0

Opublikuj rzeczywisty kod. – profitphp

+0

@mario, nie, nie wiedziałem, że muszę. jak mogę to zrobić? –

Odpowiedz

6

Użyj ob_start() i ob_end_flush().

ob_start() na początku skryptu przed dowolnym wyjściem (nawet puste miejsce).

Kiedy chcesz wyprowadzić, użyj ob_end_flush().

+2

2. raz widziałem to dzisiaj.Bożesz włączyć buforowanie wyjściowe PO lub PRZED drukowaniem treści.To nie robi żadnej różnicy. URuKl – profitphp

+0

Oczywiście, że to robi różnicę.Jeśli wydrukujesz coś bez włączonego buforowania wyjścia, to faktycznie będzie on wyprowadzany –

+0

@klinky i nie próbowałem demonstrować ob, pokazywałem, że możesz go nazwać w dowolnym momencie, a nie tylko w start przed jakimkolwiek wyjściem, jak podano w predrag.music – profitphp

2

Sprawdź plik PHP.ini i upewnij się, że bufor wyjściowy jest włączony.

Po tym można użyć ob_start(), gdy chcesz rozpocząć buforowanie i ob_flush(), aby opróżnić bufor, gdy chcesz zatrzymać buforowanie.

+0

Przepraszam, dzielony hosting - brak dostępu do pliku php.ini ....! –

+1

Jeśli używasz cP anel (większość hostów ma), istnieje możliwość zmiany konfiguracji php.ini. – user509006

+1

FYI Scott, używam hostmonster.com, który jest hostem dzielonym, i nadal mogę edytować mój własny plik php.ini. – justinl