Maison > Article > développement back-end > Comment résoudre l'avertissement d'effet secondaire de session PHP lié aux variables globales ?
Avertissement concernant les effets secondaires de la session PHP : problème avec les variables globales
Lorsque vous essayez d'héberger un site Web PHP, vous pouvez rencontrer un avertissement indiquant que votre script repose sur un effet secondaire de session obsolète dans PHP 4.2.3. Cet avertissement apparaît lorsque l'extension de session ne reconnaît pas les variables globales comme source de données, sauf si l'option register_globals est activée.
Comprendre le problème
Les variables globales sont des variables qui peuvent être accessible à partir de n’importe quelle portée dans le script. Dans les anciennes versions de PHP, l'extension de session enregistrait automatiquement les variables globales dans la session. Cependant, ce comportement a été considéré comme un risque de sécurité et a été supprimé dans PHP 4.2.3.
Trouver la source
Pour identifier la source de l'avertissement, recherchez cas où vous utilisez des variables globales dans le contexte de votre session. Plus précisément, recherchez les variables portant le même nom que les variables de session, car cela peut provoquer l'avertissement.
Désactivation de l'avertissement
Vous pouvez désactiver l'avertissement en définissant le paramètre PHP options de configuration 'session.bug_compat_warn' et 'session.bug_compat_42' sur 'off'. Ces paramètres peuvent être configurés des manières suivantes :
session.bug_compat_warn = 0 session.bug_compat_42 = 0
php_value session.bug_compat_warn 0 php_value session.bug_compat_42 0
Solution alternative :
Vous pouvez également empêcher PHP de tenter de trouver des variables existantes en ajoutant les lignes suivantes à votre script :
<code class="php">ini_set('session.bug_compat_warn', 0); ini_set('session.bug_compat_42', 0);</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!