Marc Reichelt: register_globals=off via .htaccess

Beitrag lesen

Hallo wichtel,

auf meinem Testserver muss ich register_globals vorerst auf "on" lassen, sonst laufen einige alte Sachen nicht mehr. Neue Scripte möchte ich aber so programmieren, dass sie mit register_globals=off funktionieren.

Deshalb suche ich nach einer Möglichkeit, diesen Parameter am Anfang meines PHP-Skriptes zu setzen, damit ich dann auch Fehlermeldungen erhalte, wenn ich doch mal in den alten Stil zurückfalle. Gibt es da eine Möglichkeit?

Ja - hierzu gibt es beispielsweise die Methode ini_set().

Wenn dir die Steuerungsmöglichkeit via .htaccess-Datei ermöglicht wird, gibt es aber eine IMHO bessere Option. Dann schreibst du einfach eine Datei ".htaccess" mit folgendem Inhalt:
php_flag register_globals 0

Diese muss in dem gewünschten Ordner liegen (die Unterverzeichnisse brauchen sie AFAIK nicht).

Anmerkung: Beachte vor allem die Kommentare (z. B. diesen) zu dieser Funktion - ein Apache2 erwartet diesen Befehl in einem <Directory>- oder z. B. <VirtualHost>-Element.

Da IMHO sowohl Apache als auch Apache2 mit einer <Directory>-Direktive umgehen können, sollte man das auch bei beiden so machen, um die Kompatibilität zu gewährleisten.

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)