„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann eine Warnung zu Nebeneffekten einer PHP-Sitzung im Zusammenhang mit globalen Variablen behoben werden?

Wie kann eine Warnung zu Nebeneffekten einer PHP-Sitzung im Zusammenhang mit globalen Variablen behoben werden?

Veröffentlicht am 04.11.2024
Durchsuche:430

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

PHP-Sitzungsnebenwirkungswarnung: Probleme mit globalen Variablen

Beim Versuch, eine PHP-Website zu hosten, wird möglicherweise eine entsprechende Warnung angezeigt Ihr Skript basiert auf einem Sitzungsnebeneffekt, der in PHP 4.2.3 veraltet war. Diese Warnung tritt auf, wenn die Sitzungserweiterung globale Variablen nicht als Datenquelle erkennt, es sei denn, die Option register_globals ist aktiviert.

Das Problem verstehen

Globale Variablen sind Variablen, die dies können Der Zugriff kann von jedem Bereich innerhalb des Skripts aus erfolgen. In älteren PHP-Versionen registrierte die Sitzungserweiterung automatisch globale Variablen in der Sitzung. Dieses Verhalten galt jedoch als Sicherheitsrisiko und wurde in PHP 4.2.3 entfernt.

Aufspüren der Quelle

Um die Quelle der Warnung zu identifizieren, suchen Sie nach Fälle, in denen Sie globale Variablen in Ihrem Sitzungskontext verwenden. Suchen Sie insbesondere nach Variablen mit demselben Namen wie Sitzungsvariablen, da dies die Warnung verursachen kann.

Deaktivieren der Warnung

Sie können die Warnung deaktivieren, indem Sie PHP festlegen Konfigurationsoptionen „session.bug_compat_warn“ und „session.bug_compat_42“ auf „aus“. Diese Einstellungen können auf folgende Weise konfiguriert werden:

  • php.ini:
session.bug_compat_warn = 0
session.bug_compat_42 = 0
  • .htaccess:
php_value session.bug_compat_warn 0
php_value session.bug_compat_42 0

Alternative Lösung:

Alternativ können Sie verhindern, dass PHP versucht, vorhandene Variablen zu finden, indem Sie die folgenden Zeilen zu Ihrem Skript hinzufügen:

ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729168997 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3