Comment résoudre l'avertissement d'effet secondaire de session PHP lié aux variables globales ?

Susan Sarandon
Libérer: 2024-10-17 20:44:30
original
983 Les gens l'ont consulté

How to Resolve PHP Session Side-Effect Warning Related to Global Variables?

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 :

  • php.ini :
session.bug_compat_warn = 0
session.bug_compat_42 = 0
Copier après la connexion
  • .htaccess :
php_value session.bug_compat_warn 0
php_value session.bug_compat_42 0
Copier après la connexion

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal