Niedziałający header() w php5


(Kjanok) #1

od jakiegoś czasu bawię się php... początkowo wszystko wrzucałem sobie na darmowy serwer na yoyo.pl, ale szybko doszedłem do wniosku, że przydałoby mi się pare funkcji z php5, a jako że na yoyo.pl działa tylko php4, to zdecydowałem się przenieść na inny serwer... tak trafiłem na cba.pl i możnaby powiedzieć, że wszystko jest super, gdyby nie to, że nagle mi przestała działać jakże często przezemnie używana funkcja header(). piszę sobie np. header ('Location: ../index.php'); ale ta funkcja zostaje całkowicie pominięta...

co więc mam jej zrobić żeby zmartwychwstała pod php5?


(Airborn) #2

nic, header wciąż istnieje pod php5 i jest w pełni kompatybilny z tym występującym w php4. Problem leży więc gdzieś indziej, albo w błędzie w kodzie, albo w konfiguracji serwera. Dostajesz jakikolwiek komunikat o błędzie? W fazie produkcji/nauki error_reporting ustaw na E_ALL


(Kjanok) #3

nie, nie dostaję żadnych błędów, ta instrukcja jest poprostu pomijana... na poprzednim serwerze działało wszystko bez problemów...


(Airborn) #4

więc problem leży w konfiguracji serwera najprawdopodobniej. ale możemy się upewnić jeżeli pokażesz przykłądowy kod, albo wykonasz coś co na 100% powinno było działać, czyli:


(Mynical) #5

na yoyo.pl jest php5, pisze to wielkimi literami gdy niema żadnego pliku index.X


(Kjanok) #6

napisałem mu na próbę kod który bez problemu powinien odczytać choćby nie wiem co

<?

header ('Location: http://phplearning.cba.pl/index.php');

?>

i nic... :frowning:

a w kwestii poprzedniego komentarza... nie wiem, gdzie przeczytałeś, że na yoyo jest php5, ale wystarczy użyć jakże przydatnej funkcji phpinfo(), żeby się przekonać, że na yoyo jest tylko php4...


(Mynical) #7

kod źle napisałeś bo pajączek mi go nie czyta... oto skren ze na yoyo.pl jest php5


(Airborn) #8

zmień rozszerzenie pliku na .php5, działa, choć metoda jest niewygodna

z całym szacunkiem, ale to nie jest argument :stuck_out_tongue:

kod zasadniczo jest napisany poprawnie z jednym wyjątkiem mogącym stanowić problemy w części serwerów (zależnie od konfiguracji) zamień <? na <?php albo upewnij się, że dostępne są tzn short_open_tag, ale lepiej zawsze stosować <?php aby uniknąć problemów niezależnie od środowiska.