session.bug_compat_42

session.bug_compat_42 - PHP - Programmation

Marsh Posté le 27-09-2007 à 15:07:49    

SAlut tout le monde,
J ai un probleme sur une de mes pages d'un site. A la fin de ma page le message suivant s'incris :
 
<code>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</code>
 
Je regardé sur le net mais j ai rien trouvé de bien interessant!
Quelqu'un serait de quoi ça peut venir?  
Merci à vous.

Reply

Marsh Posté le 27-09-2007 à 15:07:49   

Reply

Marsh Posté le 27-09-2007 à 15:42:18    

RTFM : http://fr3.php.net/session

Citation :

session.bug_compat_42  boolean
    Les versions de PHP antérieures à la version 4.2.3 disposaient d'une fonctionnalité/bogue non documentée, qui vous permettait d'initialiser une variable de session dans le contexte global, même si register_globals était désactivé. PHP 4.3.0 et plus récent vous préviendra de l'utilisation de cette fonctionnalité si vous avez aussi activé session.bug_compat_warn. Cette fonctionnalité/bogue peut être désactivée en désactivant cette directive.


Citation :

session.bug_compat_warn  boolean
    Les versions de PHP antérieures à la version 4.2.3 disposaient d'une fonctionnalité/bogue non documentée, qui vous permettait d'initialiser une variable de session dans le contexte global, même si register_globals était désactivé. PHP 4.3.0 et plus récent vous préviendra de l'utilisation de cette fonctionnalité si vous avez activé session.bug_compat_42 et session.bug_compat_warn.


 
De ce que je comprends, en gros :
1) soit t'essayes d'accéder à une variable globale non initialisé dont le nom correspond à un des éléments de la session et ce en ayant register_global à off.
2) soit ces deux éléments étant activé par défaut dans la config de php, php à créé les variables globales correspondant à chaque élément de la session alors que register_global est désactivé (conformément au bug des anciennes versions de php vu qu'il est demandé à php d'être compatible avec ce bug) et tu as utilisé une de ces variables sans jamais lui réaffecter une autre valeur.
 
Je ne sais pas laquelle de ces deux explications est la bonne (laquelle provoque cette alerte).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed