Skocz do zawartości


 

Zdjęcie

Problem z przekierowaniem header location mimo output_buffering = 4096

Problem z przekierowaniem header location mimo output_buffering = 4096 output_buffering php apache header

  • Proszę się zalogować aby odpowiedzieć
2 odpowiedzi na ten temat

Problem z przekierowaniem header location mimo output_buffering = 4096

#1 Elber

Elber

    Regularny użytkownik

  • Użytkownicy
  • 92 postów

Napisany 01 czerwiec 2015 - 14:43

Witam,
 
mam dziwny problem, zapewne coś w konfiguracji php / apache po przeniesieniu na nowy hosting, bo na starym działało poprawnie, wersje PHP na nowym 5.3.38 na starym 5.3.39
 
Pominę fakt, że kod strony jest dość stary, nieobiektowy.
 
Jak utworzę sobię plik test.php
 
gdzie w najpierw wrzucam np. <h1>dasdsad</h1> i po tym <?php header('Location: /'); ?> to wszystko działa prawidłowo,
 
ale w kodzie strony, gdzie mam index.php, w którym za pomocą require_once() ładuje pliki z funkcjami php na podstawie aktuanego poziomu , oraz niżej konkretne pliki html'a do wyświetlenia treści juz taki header('Location: /') nie działa, wyrzuca błąd
 
Warning: Cannot modify header information - headers already sent by (output started at index.php:138) in includes/content/index.tpl.php on line 21
 
linia 138 w index.php to  require_once() konkretnego .tpl.php bazując na $_GET a linia 21 w index.tpl.php to właśnie header('Location: /')
 
Przekierowania zaczynają działać jeśli do index.php na początku i końcu wrzucę odpowiednio ob_start(); i ob_flush();
 
Wie ktoś może co oprócz output_buffering  powinno być jeszcze włączone aby to działało jak na starym serwerze ?

  • 0

#2 Elber

Elber

    Regularny użytkownik

  • Użytkownicy
  • 92 postów

Napisany 02 czerwiec 2015 - 07:01

Był problem w kodzie z białymi znakami,

 

find ./ -name "*.php" -exec sed -i -e '/^\n*$/d' {} \;
find ./ -name "*.php" -exec sed -i -e 's/\s*$//' {} \;
find ./ -name "*.php" -exec sed -i -e 's/^\s*//' {} \;
 
rozwiązało problem, ale trochę namieszało w czytelności kodu ;)
 
Da się sprawdzić jakoś w którym konkretnie pliku były białe znaki ?

  • 0

#3 Vasthi

Vasthi

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 647 postów

Napisany 02 czerwiec 2015 - 07:24

Najpierw mówisz php żeby zwrócił nagłówek do przekierowania a potem chcesz jakiś plik załączać.
  • 0






Także otagowane jednym lub więcej z tych słów kluczowych: output_buffering, php, apache, header

0 użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników