webForumDet fria alternativet

Sessions livslängd

7 svar · 354 visningar · startad av K@llen

K@llenMedlem sedan mars 20032 667 inlägg
#1

hej,

i min php.ini på webhotellet är session.gc_maxlifetime satt till default 1440 sekunder. På mina sidor försöker jag höja denna tiden genom att sätta ett eget värde (se nedan), men mina sessions varar endast 1440 sekunder. Kör på en linuxserver.

Går det att förbise de inställningar som är satta i php.ini?

   ini_alter("session.gc_maxlifetime", "3600"); //1 timme
   ini_alter("session.cache_expire", "3600"); //1 timme
   ini_alter("session.save_path", "$DOCUMENT_ROOT/temp");
FlashXMedlem sedan nov. 19991 033 inlägg
#2

Normalt ska det gå men det finns också möjlighet för webbhotellet att se till så vissa värden inte går att ändra.

ini_set('session.gc_maxlifetime', 3600);
session_cache_expire(3600);
session_save_path("/hemsida/sessiondata");
session_start();

Det som är viktigt att komma ihåg är det alltid ska ligga före session_start(); och att det endast gäller det skript som kör koden. Antar att du använder någon inclue-fil och då är det där som koden bör ligga.

K@llenMedlem sedan mars 20032 667 inlägg
#3

hmm, session_start() hade jag före. Flyttar jag på session_start() till efter koden så tappar jag mitt sessionvärde helt.

FlashXMedlem sedan nov. 19991 033 inlägg
#4

Kan kanske bero på att filen inte skapas i mappen du anger p.g.a. rättigheter. Man kan inte skapa en session och i efterhand välja vart den ska sparas. Mer info om session_save_path

K@llenMedlem sedan mars 20032 667 inlägg
#5

Tack Kjell, får testa runt lite och se om jag klurar ut det. :)

soocksMedlem sedan feb. 200240 inlägg
#6

Tänk på (som FlashX skrev) att du inte alltid kan ändra inställningarna i php.ini själv. Kör webbhotellet Apache måste du ha "AllowOverride Options" och "AllowOverride All"-rättigheter för att det ska fungera.

Kan ju bero på det om det inte funkar..

K@llenMedlem sedan mars 20032 667 inlägg
#7

soocks skrev:

Tänk på (som FlashX skrev) att du inte alltid kan ändra inställningarna i php.ini själv. Kör webbhotellet Apache måste du ha "AllowOverride Options" och "AllowOverride All"-rättigheter för att det ska fungera.

Kan ju bero på det om det inte funkar..

Jag vet att jag kan ändra inställningar själv eftersom administratören på hotellet rekommenderat detta för att det hela ska fungera ihop med deras lastbalanserare ( http://support.levonline.com/support.cgi?content=phpsession#phpsession ). Kruxet är att min kod fungerat i nästan 1 år och har börjat klabba först nu.

Jag ska fortsätta min efterforskning och återkommer när jag testat klart.

K@llenMedlem sedan mars 20032 667 inlägg
#8

FlashX skrev:

Kan kanske bero på att filen inte skapas i mappen du anger p.g.a. rättigheter. Man kan inte skapa en session och i efterhand välja vart den ska sparas. Mer info om session_save_path

Det verkar fungera bra nu med din (kjells) kod och högre rättigheter. Jag höjde rättigheterna från 757 till 777. Alla påstår att 757 ska räcka, men det vill inte funka med den rättigheten på katalogen. Varför vet jag ännu inte. Ska kolla upp detta vidare.

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)