paweln
21.01.2004, 09:18:36
Witam.
Mam nietypowy problemik skrypt pisalem pod windowsem gdzie mialem zainstalowane apache, php i mysql. Stronka działa lux. Problem pokazal sie na serwerze pod linuxem. A problem polega na tym iz giną dane z sesji z keszowaniem. Jeśli wyłacze keszowanie czyli usune ob_start() z poczatku skryptu i ob_end_flush() z konca skryptu dane sa przesylane ale wyskakuje blad: Cannot add header information - headers already sent by... . Czemu tak sie dzieje pod windowsem nie ma problemow. Moze gdzies w ustawieniach php.ini mozna cos zwiekszyć albo coś, bo nie mam pomysła już.
BzikOS
21.01.2004, 09:22:56
A jak odwołujesz się do zmiennych sesyjnych? Może to przewijający się ciągle "problem" register_globals?
paweln
21.01.2004, 09:35:23
Nie to nie to wszystkie dane z sesji odbierane są przez
[php:1:e4fb7c5960]<?php
$nazwa_zmiennej = $HTTP_SESSION_VARS['nazwa_zmiennej'];
?>[/php:1:e4fb7c5960]
Na początku też myślałem że to jest to i włączyłem na linuksie register_globals, chociaż pod windowsem mam wyłączone i działa.
Nie wiem co to może być. Tak jak pisałem beż keszowania działa tylko błędy wyskakują.
Jabol
21.01.2004, 20:46:04
może w winie miałeś zdefiniowne w php.ini buforowanie wyjścia przez sam intepreter php? W linuxie też da się to osiągnąć, gdyż jest to możliwość niezależna od paltformy. Wystarczy tylko odpowiednio zedytować php.ini.
trax
21.01.2004, 21:52:48
Słyszałeś o nagłówkach http (ang. headers)? Fukcje rejestrójące sesje takie jak session_register winne być wywołane zanim nagłówki zostaną wysłane tzn. jak najwcześniej, niektóre inne funkcje też. Spróbuj zmienić miejsce swych "problematycznych" funkcji, umieścić je jak "najwyżej".[/code]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.