ugrás a tartalomhoz

PHP Session eltűnik

Anonymous · 2006. Jún. 26. (H), 09.10
Sziasztok!

Az a problémám h van egy szerverem fix IP alatt, amin két virtuális oldal megy ServerName megkülönböztetéssel. Mindkettő a 80-s porton. Egyik oldalon minden OK, van bejelentkezés, session végig elérhető. De a másikon (kódra ua. a rendszer fut), bejelentkezés után egyszerűen eltűnik a session. A következő lap letöltésekor már egy másikkal fut.

Figyeltem a session_path-ban, és a PHP a 2. oldalnál minden letöltéshez új session-t indít.

Oldal elején hívom a session_start(), stb.

Mi lehet a gond? Valaki találkozott már ilyennel?
 
1

Kód?

janoszen · 2006. Jún. 26. (H), 09.30
1. nem értem egészen - az egyik domainből mész át a másikba vagy ugyanazon a domainen belül maradsz?

2. add meg a címet, hogy meg lehessen nézni.

3. add meg a sessionkezeléssel kapcsolatos forráskódokat.
2

kód:

Anonymous · 2006. Jún. 26. (H), 09.40
1. nem. 1 IP - 2 domain (és nem akarok átmenni). 2 VirtualHost ServerName megkülünböztetéssel.
2. zárt sajna.
3.
legelején:
<?
session_start();
...
3

session.cookie_domain

toxin · 2006. Jún. 26. (H), 10.00
tippem hogy a session.cookie_domain -t állítsd be ill. át

ill. gugliba 'session.cookie_domain vhost'

tippemet követve ott találtam és mintha hasonlítana te problémádra http://drupal.org/node/34942 :)
4

így sem..

Anonymous · 2006. Jún. 26. (H), 10.22
Sajna nem... :(

Azt néztem h alapból el sem küldi az apache a set cookie header-t, mint az első oldalon...
5

no resume

Anonymous · 2006. Jún. 26. (H), 11.35
Olyan mintha nem folytatná a session_start() hatására a session-t. Hanem újat kezd mindig.

Ez miért lehet?
6

session neve

sotetbarna · 2006. Jún. 26. (H), 13.18
Hali!

Nekem volt ilyen problémám, a session -nek nevet kell adni (esetedben két különbözőt), így tudta megkülönböztetni a különböző domainekhez tartozó session-t ugyanazon a szerveren.

session_name('xyz');
session_start();
Barna
7

továbbra is

Anonymous · 2006. Jún. 26. (H), 13.42
sajna ez sem segített..

az a fura h ki sem küldi a Set-Cookie headert (+ pár másikat sem) a szerver:

1. domain
http://domain1.hu/

GET / HTTP/1.1
Host: domain1.hu
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; hu; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: hu-hu,hu;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.x 200 OK
Date: Mon, 26 Jun 2006 11:40:43 GMT
Server: Microsoft-IIS/6.0
Set-Cookie: SESSID=71d369bed5d930999c233c7cc191143e; expires=Mon, 26 Jun 2006 11:55:43 GMT; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
X-Powered-By: ASP.NET
Content-Length: 5268
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
----------------------------------------------------------


2. domain
http://domain2.hu/

GET / HTTP/1.1
Host: domain2.hu
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; hu; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: hu-hu,hu;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.x 200 OK
Date: Mon, 26 Jun 2006 11:38:29 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 3195
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
----------------------------------------------------------


(ne vegyétek figyelembe az IIS + ASP párosítást, csak egy kis vicc :))
8

PHPSESSID

Anonymous · 2006. Jún. 26. (H), 13.47
Ha jól látom a session_name() a PHPSESSID-t változtatja, ami nálam SESSID. De akkor sem küldi ki, elnevezéstől függetlenül.
9

ok

Anonymous · 2006. Jún. 26. (H), 15.54
ok, megoldódott. az egyik include file-t ha kiszedtem, akkor ment. így újra létrehoztam a fájlt és átmásoltam a tartalmat.

gondolom valami kódolási probléma lehetett...

kösz mindenkinek!