Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwne zachowanie sesji
Forum PHP.pl > Forum > PHP
Athlan
Mam wielki problem. Przy kodzie w pliku:
  1. <?php session_start(); ?>


(http://www.diablo.phx.pl/z_bzdety/sesja.php)

wawala błędy:
Cytat
Warning: session_start() [function.session-start]: open(/var/lib/php5/sess_2e42ef5925e77ddf27f1e7b08937bcf9, O_RDWR) failed: No such file or directory (2) in /var/virtuals/diablo.phx.pl/htdocs/z_bzdety/sesja.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/virtuals/diablo.phx.pl/htdocs/z_bzdety/sesja.php:2) in /var/virtuals/diablo.phx.pl/htdocs/z_bzdety/sesja.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/virtuals/diablo.phx.pl/htdocs/z_bzdety/sesja.php:2) in /var/virtuals/diablo.phx.pl/htdocs/z_bzdety/sesja.php on line 2

Warning: Unknown: open(/var/lib/php5/sess_2e42ef5925e77ddf27f1e7b08937bcf9, 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 (/var/lib/php5) in Unknown on line 0


widać, że sesje się źle zapisują (po 1 warningu), nie mam dostępu do php.ini i funkcji ini_set(), co mam zrobić oprócz napisania do admina w tej sprawie?
Apo
Cytat
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already

Ten błąd oznacza że nagłówki zostały wysłane, czyli musisz buforować dane. Wstaw na początku kodu ob_start();, a na końcu ob_end_flush();

Cytat
co mam zrobić oprócz napisania do admina w tej sprawie?


Trzymać kciuki ;]
siemakuba
Cytat
co mam zrobić oprócz napisania do admina w tej sprawie?

możesz napisać / poszukać handlera sesji opartego na bazie danych.

pozdr.
Athlan
Cytat
Ten błąd oznacza że nagłówki zostały wysłane, czyli musisz buforować dane. Wstaw na początku kodu ob_start();, a na końcu ob_end_flush();


No tak, ale nie są wysyłane żadne nagłówki (patrz kod w poście #1)

B dziwne angrysmiley.gif
siemakuba
Cytat
No tak, ale nie są wysyłane żadne nagłówki
za nagłówki będzie uznane cokolwiek co będzie wysłane przed session_start. Może to być kod HTML, może to być nawet spacja przed rozpoczęciem kodu (<?php)
a nagłówki zostały wysłane :) "nagłówkiem" w twojej sytuacji jest wyświetlenie błedu o niemożności uruchomienia sesji :)

spróbuj ustawić folder do zapisu sesji za pomocą fukcji session_save_path" title="Zobacz w manualu php" target="_manual.

pozdr.
rbart
umnie występuje podobny problem dokładnie:

Cytat
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at c:\usr\apache\httpd\html\work\both\ildv1.0b\index2.php:1) in c:\usr\apache\httpd\html\work\both\ildv1.0b\index2.php on line 2


przy kodzie:
  1. <?php
  2. ?>

Problemem okazało się to że plik był zapisany z kodowaniem utf-8 jeżeli zapisałbym go w ANSI(Windows) to podany problem wogóle nie wytępuję.

Jednak pisanie w ANSI jest dosyć niewygodne.
Athlan
a umnie w postach wyżej (sorka że nie napisałem jak został rozwiązany problem) nie miałem dostępu do funckji session_start(), lecz nie była też disabled smile.gif
Ja_Szczur
@rbart:

problem nie tkwi w kodowaniu, ale w kodowaniu kodowania biggrin.gif
bo jest utf-8 oraz utf-8 with signature
oczywiście, zawsze wybieramy ten pierwszy (ile się namęczyłem, żeby ten sam błąd, co go Ty miałeś, znaleźć!)
thornag
Problem moze wystapic tez jesli apache jest na chroocie to w katalogu z ktorego uruchamiasz (tam gdzie aktualny index.php) musi byc katalog tmp do zapisu sesji.

Ale to tak OT smile.gif

I mam nadzieje ze sie nie myle smile.gif
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.