[Apache/PHP] Sessie cookie verschijnt niet

Pagina: 1
Acties:

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 06-08 20:42
Na de aanschaf van een nieuwe laptop ben ik druk bezig de nodige software te installeren. Aangezien ik veel met PHP doe is een Apache installatie met PHP wel noodzakelijk. Dus ik ben aan het installeren geslagen. Ondanks dat dit de eerste keer is dat ik dit installeer op Windows lijkt alles prima te werken, op 1 ding na.

Zodra ik in PHP een sessie start verschijnt er in de browser nergens een cookie met het id. Op de server verschijnt wel netjes een bestand waar de sessie infomatie instaat, maar bij een refresh word er een nieuwe sessie aangemaakt omdat er geen id wordt meegegeven door de browser.

Het rare is dat ik met het commando setcookie() wel een cookie kan aanmaken en dat cookies op andere sites prima werken. Hieraan lijkt het dus niet te liggen. Ook krijg ik netjes een error dat de cookie header niet verzonden kan worden als ik een een echo voor de session_start() zet.

Het sessie deel in mijn php.ini is alsvolgt:
INI:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[Session]
session.save_handler = files
session.save_path = "D:\Program Files\Apache Group\Apache2\session"
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPDevID
session.auto_start = 0
session.cookie_lifetime = 604800
session.cookie_path = /
session.cookie_domain = mactop
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 1
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"


Het is mij een compleet raadsel waarom ik geen cookie krijg, maar wel netjes een error en waarom ik wel een gewone cookie kan maken. Hopelijk herkent iemand dit probleem of kan iemand mij een zetje in de juiste richting geven.

[ Voor 1% gewijzigd door Mac_Cain13 op 03-07-2005 18:45 . Reden: Copy/Paste foutje ]


Verwijderd

En hoe weet je precies dat je geen cookie krijgt? Session cookies wordne ook niet opgeslagen in een bestandje, ze bestaan alleen in het geheugen van de user agent.

Probeer eens te analyseren wat er allemaal gebeurt bij een request, bijvoorbeeld met behulp van Ethereal. Dat is wel even ingewikkeld, maar je kunt dan alle communicatie tussen browser en webserver bekijken.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Ligt dat probleem niet aan je session.cookie_domain? Probeer die eens leeg te laten? Probeer ook session.cookie_lifetime eens op 0 te zetten? Heb je de webserver online staan zodat we even kunnen kijken? Verder klopt je session.serialize_handler ook niet; dit moet php zijn

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 06-08 20:42
Verwijderd schreef op zondag 03 juli 2005 @ 18:30:
En hoe weet je precies dat je geen cookie krijgt? Session cookies wordne ook niet opgeslagen in een bestandje, ze bestaan alleen in het geheugen van de user agent.
In Firefox heb ik met de Cookie Edit extention gekeken naar welke cookies er aanwezig. Alle andere cookies zijn wel netjes zichtbaar, maar een cookie die ik wil maken met session_start() verschijnt niet.
Probeer eens te analyseren wat er allemaal gebeurt bij een request, bijvoorbeeld met behulp van Ethereal. Dat is wel even ingewikkeld, maar je kunt dan alle communicatie tussen browser en webserver bekijken.
Ik heb net Ethereal geïnstalleerd, alleen lijkt het erop dat ik niet het verkeer over de loopback device kan capturen met Ethereal in Windows. Dus ik heb het nog niet voor elkaar gekregen, maar ga straks nog even verder proberen. Capturen kan namelijk wel vaker handig zijn. :)
Spider.007 schreef op zondag 03 juli 2005 @ 18:33:
Ligt dat probleem niet aan je session.cookie_domain? Probeer die eens leeg te laten? Probeer ook session.cookie_lifetime eens op 0 te zetten?
Met een lege cookie_domain werkt het ineens. :D Ik heb wel al meerdere waardes geprobeerd, maar had niet door dat hij ook leeg mocht zijn.

De cookie_lifetime instelling maakt overgens niet uit voor dit probleem. Deze heb ik dus gewoon laten staan op mijn eigen instelling.
Heb je de webserver online staan zodat we even kunnen kijken? Verder klopt je session.serialize_handler ook niet; dit moet php zijn
De webserver staat alleen lokaal, omdat ik hem alleen gebruik voor het ontwikkelen en uitproberen van allerlei dingen. Dus kijken gaat helaas niet, maar is ook niet meer nodig. ;)

Overgens was die serialize_handler een kopieer/plak foutje, ik was iets te enthousiast het commentaar uit de php.ini aan het halen. In ieder geval hartelijk dank voor de hulp heren!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Maar het probleem was opgelost door alleen het cookie_domain aan te passen? Mooi iig dat het is opgelost :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate