Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z rozpoczęciem sesji w php5
Forum PHP.pl > Forum > Przedszkole
dml
Witam,
Zagłębiam się w tajniki php przerabiając książkę "Php i Mysql; tworzenie stron www; vademecum profesjonalisty".
Doszedłem do zagadnienia sesji i utknąłem na samym początku tematu.
Korzystam z kodu zamieszczonego w książce, który ma być wprowadzeniem w zagadnienie:


Kod
<?
session_start();
$HTTP_SESSION_VARS['zmienna_sesji']="Witaj świecie!";
echo'Zawartość zmiennej $HTTP_SESSION_VARS[\'zmienna_sesji\'] wynosi '
    .$HTTP_SESSION_VARS['zmienna_sesji'].'<br />';
?>
<a href="strona2.php">Następna strona</a>


wynik jego wykonania wygląda następująco:

Cytat
Warning: session_start() [function.session-start]: open(/tmp/sess_9704cbfc3236ff39676416439a123d6a, O_RDWR) failed: No such file or directory (2) in /oferta/strona1.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /oferta/strona1.php:1) in /oferta/strona1.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /oferta/strona1.php:1) in /oferta/strona1.php on line 2
Zawartość zmiennej $HTTP_SESSION_VARS['zmienna_sesji'] wynosi Witaj świecie!
Następna strona
Warning: Unknown: open(/tmp/sess_9704cbfc3236ff39676416439a123d6a, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0


Wiem że w php5 funkcja "session_start()" musi znajdować się na samym początku kodu bez żadnych pustych znaków, wiem że mogą być problemy w przypadku kodowania UTF-8 - nie ma pustych znaków i UTF-8, z "phpinfo" wynika że: session.save_path /tmp, w związku z czym utworzyłem plik "tmp" z prawami "777" , niestety bez żadnego wpływu na wynik.
Proszę o pomoc. Mam konto na "home.pl" - czy problem może leżeć po stronie serwera?

Z góry serdecznie dziękuję za pomoc.
Pozdrawiam,
Dariusz Liszewski
stroju
dokładnie, 2 tygodnie temu miałem ten sam problem na zagranicznym serwerze i administrator po zgłoszeniu to naprawił
czachor
Nie wiem jak jest na home.pl, ale nie powinno być potrzeby tworzenia /tmp. Zagadaj z adminem albo poszukaj w tamtejszym helpie. I jeszcze: nie $HTTP_SESSION_VARS['zmienna_sesji'] ale $_SESSION['zmienna_sesji'].
stroju
obie zmienne są poprawne, dłuższa i krótsza forma
Ociu
Proszę nadać tematowi odpowiedni tytuł i dodać tag.
erix
Cytat
obie zmienne są poprawne, dłuższa i krótsza forma

register_long_arrays:
Cytat
Tells PHP whether or not to register the deprecated long $HTTP_*_VARS type predefined variables. When On (default), long predefined PHP variables like $HTTP_GET_VARS will be defined. If you're not using them, it's recommended to turn them off, for performance reasons. Instead, use the superglobal arrays, like $_GET.

Jak wyłączone w php.ini, to nie są poprawne. tongue.gif Słówko deprecated mówi samo za siebie.

Ale to tak nawiasem.

Cytat
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

Prawdopodobnie nie masz uprawnień do zapisu w katalogu tymczasowym. Stwórz jakiś katalog z prawami do zapisu i podaj do niego ścieżkę w session_save_path" title="Zobacz w manualu PHP" target="_manual.
dml
Serdecznie dziękuję za odpowiedzi.
Miałem stworzony plik "tmp" z pełnymi prawami dostępu (777).
Po zastąpieniu długich nazw krótkimi sytuacja rzeczywiście uległa zmianie ale nadal otrzymuję komunikaty:
Cytat
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /oferta/strona1.php:1) in /oferta/strona1.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /oferta/strona1.php:1) in /oferta/strona1.php on line 2


home.pl udostępnia zarówno php4 jak i php5 - obie wersje generują dokładnie ten sam komunikat
Również identyczny komunikat otrzymuję gdy w pliku php umieszczę tylko funkcję "session_start()".

Proszę o pomoc,
Pozdrawiam,
Dariusz Liszewski
sannin
Było na forum wiele razy winksmiley.jpg http://forum.php.pl/index.php?showtopic=85888 po za tym google nie boli winksmiley.jpg

Pozdro
dml
Serdecznie dziękuję wszystkim za odpowiedź.
Zamykam temat.

Pozdrawiam,
Dariusz Liszewski
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.