webForumDet fria alternativet

session side-effect

6 svar · 284 visningar · startad av mhedda

mheddaMedlem sedan feb. 2000385 inlägg
#1

Hejsan igen!
Får nu detta meddelande och
det tycks som om det inte fungerar även om jag tycker att jag gör rätt.

Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

Hur skriver man i ini?
Jag tycker att jag har provat på olika sätt.
tex.
; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit register_globals
; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning seperately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.

session.bug_compat_42 = 0
session.bug_compat_warn = 0

Är det någon som har haft samma problem?

MVH hedda

SnakesMedlem sedan okt. 2004386 inlägg
#2

Jag är inte säker men

ini_set('session.bug_compat_42',0);
ini_set('session.bug_compat_warn',0);

Har ingen aning om det funkar eller inte!..

mheddaMedlem sedan feb. 2000385 inlägg
#3

Tyvärr!
Det verkar som php.ini inte bryr sig alls.
Och det även när jag är inne i php.ini och ändrar.
MVH hedda

PeddaMedlem sedan juni 20004 880 inlägg
#4

Har du startat om efter att du ändrat i php.ini?

Det är man tvungen att göra för att förändringarna ska träda i kraft.

mheddaMedlem sedan feb. 2000385 inlägg
#5

Nu så funkar det nästan.
Det kanske inte riktigt slog igenom.
Men nu ser jag ibland när man laddar om sidan så kommer samma meddelande.
Nu ligger detta överst i filerna.

session_start();
ob_start();
ini_set('error_reporting', E_ALL & ~E_NOTICE);
ini_set('session.bug_compat_42',0);
ini_set('session.bug_compat_warn',0);

MVH hedda

MVH hedda

MatteMedlem sedan aug. 20002 970 inlägg
#6

Jag har för mig man får detta felmeddelande då man har en variabel som har samma namn som index i en sessionsvariabel, typ om du använder $variabel i sammaskript som $_SESSION['variabel'].

Se till att ha ett unikt index för din sessionsvariabel som du inte använder som variabelnamn, eller index i $_POST, $_GET eller $_COOKIE.

Ett sätt att undvika variabelkrock är att lägga till ett prefix i index, typ $_SESSION['sess_var'] eller $_SESSION['sVar'].

mheddaMedlem sedan feb. 2000385 inlägg
#7

Hej och tack för svar.
Jag skall tänka på det.
Nu har jag uppdaterat min phpmotor.
Och då försvinner felet.

MVH hedda

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb