Avatar billede mrcorex Nybegynder
07. juni 2003 - 01:12 Der er 11 kommentarer og
1 løsning

phpsessid fungerer ikke ordenligt

Det driver mig til vanvid. Jeg synes jeg har søgt alle steder.

Jeg kører:
Red Hat Linux release 8.0 (Psyche)
httpd-2.0.40-11.3
php-4.2.2-8.0.7
php-mysql-4.2.2-8.0.7
php-imap-4.2.2-8.0.7

Der er en setting i /etc/php.ini:
session.use_trans_sid = x

Jeg har hele tiden problemet med at phpsessid bliver overført i url'en på mine websider. Hvis jeg nu sætter session.use_trans_sid til 0 bliver den ikke overført længere, men så virker den heller ikke. :(

Jeg er nødt til at have den sat til 1 for at min hjemmeside fungerer. Jeg skal bruge phpsessid. Men det er jo ikke godt når den er i URL'en.

Jeg har opgraderet min redhat linux til 8.0. Tidligere version var 7.2 og på denne version var der ingen problemer.

Der er ikke installeret X på box'en.

Håber at der er nogen som kan hjælpe mig.

Jeg sætter point til det højeste, da det er vigtigt for mig at få løst rimeligt hurtigt :|

Please, ingen u-seriøse indslag. Jeg vil ikke bare have et link, fordi du tror at denne angive webside indeholder det der skal til.

/CoRex
Avatar billede googolplex Novice
07. juni 2003 - 02:01 #1
Hvis ikke du vil overføre sessions via URL, så skal du benytte dig af af cookies, men så virker det ikke hvis brugeren har slået cookies fra (hvilket ikke er unormalt nu til dags).
Avatar billede googolplex Novice
07. juni 2003 - 02:06 #2
Skal dog lige siges at cookies heller ikke er sikre, alternativt er du nødt til at benytte SSL.
Avatar billede mrcorex Nybegynder
07. juni 2003 - 02:14 #3
Nej, nej. Jeg vil bruge sessions, som fungerer normalt igennem php. I det her tilfælde ikke normalt.

Jeg har ikke brug for alternativer. Jeg har brug for at få sessions i php til at fungerere efter hensigten. :)

/CoRex
Avatar billede googolplex Novice
07. juni 2003 - 02:25 #4
Så vidt jeg ved er der kun to måder at gøre det med apache/PHP, som en del af urlen eller som cookies.

Har du kigget på http://dk.php.net/manual/en/ref.session.php ?

Jaja, det var et link :)

Hvis du finder en løsning vil jeg meget gerne vide det, da jeg ikke bryder mig om at sende mit seesionid gennem urlen, men ikke har kunnet finde en anden (holdbar) løsning :(
Avatar billede htm Nybegynder
07. juni 2003 - 13:10 #5
Prøv og sæt følgende parametre til følgende værdier

session.save_handler = files
session.save_path = /tmp
session.use_cookies = 1
session.use_trans_sid = 0

Ændr stien til noget andet hvis du ikke mener at du vil gemme session-filerne i /tmp
Avatar billede mrcorex Nybegynder
07. juni 2003 - 14:03 #6
htm>Det er det sat til for lææænge siden :)

Jeg har fået løst problemet.

Den ALLERFØRSTE linie i mit php-script SKAL være session_start() ellers virker det ikke. I tidligere versioner af php kunne det godt lade sig gøre at man skrev session_start() senere bare man huskede @ foran for ikke at få den warning.

Hvis jeg sætter session_start(); som den første linie virker det.

Summasumarum er:

1. "session_start();" skal stå først i mit script.

2. "session.use_trans_sid" i "/etc/php.ini" skal sættes til "0".

3. Klart at cookies skal accepteres på klienten, eller vil phpsessid ikke bliver ført med rundt.

Det var hvad jeg umiddelbart kunne komme frem til.

/CoRex
Avatar billede htm Nybegynder
07. juni 2003 - 14:08 #7
Ja det lyder meget fornuftigt - men korrekt session_start skal være før der bliver sendt noget indhold til browseren, derfor det ikke vil virke!
Grunden til at det har virket før er givetvis pga. session.auto_start var sta til 1.

Jeg mener at hvis klienten ikke accepterer cookies, bliver adresselinien brugt

desdomindre at session.use_only_cookies er sat til 1
Avatar billede sukos Juniormester
07. juni 2003 - 17:15 #8
Ja, man skal tjekke for en cookie, om den kan sættes, og ud fra det definere en ini_set()
Og så ellers konsekvent bruge SID hvis man vil holde styr på det???

At du skulle kunne bruge session_start() og derefter en ini_set() fatter jeg ikke?
Du kan jo netop IKKE starte en session uden de givne parametere, default findes i php.ini
Avatar billede sukos Juniormester
07. juni 2003 - 17:17 #9
Hvad hvis du prøver med en
ini_set('error_reporting', "E_ALL");

i toppen af dit dokument?
Avatar billede mrcorex Nybegynder
13. oktober 2003 - 18:19 #10
Hov, jeg havde helt glemt denne.

Jeg re-installerede server. Det hjalp.

/CoRex
Avatar billede htm Nybegynder
13. oktober 2003 - 19:17 #11
Husk og lukke spørgsmål!
Avatar billede mrcorex Nybegynder
10. februar 2004 - 11:44 #12
Lukket! Sorry!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester