31. marts 2011 - 22:51Der er
9 kommentarer og 2 løsninger
Sjov fejlbesked
Hej med jer herinde.
Jeg stødte på en lidt sjov fejlbesked da jeg sad og opdaterede min captcha på min ene hjemmeside. Beskeden lyder:
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
Jeg har min side hostet hos gigahost så gik naturligvis ind for at se PHP.ini om jeg havde register_globals aktiveret eller der var noget andet galt. Men intet kunne jeg finde.
Er der nogen herinde der kan give mig en nogenlunde fornuftig forklaring.
Man bør referere til session variabler med: $_SESSION['variabel_navn'];
Førhen blev de automatisk registreret som en variabel, så du kunne referere til samme session variabel som: $variabel_navn;
Du har sikkert et sted i din gamle kode som refererer efter den 'gamle' metode, hvilket har et hav af ulember og sikkerhedsproblemer (hvis register_globals er 'on').
At sætte den til nul er desværre ikke godt nok jeg bruger nemlig denne session til at holde den rigtige kombination til et captcha billede, og derfor har jeg behov for den bliver nulstillet hver gang billedet loades..
#6 hmm.. dette kan vel også opnåes ved at sætte den til 0 ? - Ellers kan du benytte false ? - Jeg har engang på en meget mærkelig server oplevet problem med at skrive null da den kun godkendte NULL (i store bogstaver) - Men det var et meget unikt og specielt tilfælde så ved ikke om det har nogen reference til dit problem. :)
Er den nemmeste løsning ikke bare at sætte session.bug_compat_42 og session.bug_compat_warn til 0 i din php.ini-fil? Hvis du ikke har adgang til php.ini, kan du prøve at bruge
unset($_SESSION['cap']);
men jeg er langt fra sikker på at det løser problemet...
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.