Session- und globale Variabeln
Andreas
- php
Hallo,
ich habe folgendes phänomen bei mir beobachtet:
ich habe eine globale variabel name test (also $test) und eine Sessionvariabel $_SESSION['test']. unter dem linux server meines passiert folgendes:
code ...
$test='wert1';
print $test;
$_SESSION['test']='wert2';
print $test;
...
ergibt folgende ausgabe:
wert1
wert2
jetzt ist meine frage warum? unter meinem windows server passiert das nicht. dort kommt die richtige ausgabe(wert1,wert1). ist es ein bug oder habe ich bei globalen variabeln etwas nicht verstanden? vielleicht hat jemand diese verhalten schon mal beobachtet. zur lösung habe ich jetzt übrigens einfach die variabel umbenannt ;-).
mfg
Andreas
Hi,
jetzt ist meine frage warum?
weil Dein Server verkonfiguriert ist. "register_globals" ist auf "on" gestellt, was zu vermeiden wäre.
Cheatah
Danke.
kann man dies mit dem befehlt
ini_set("register_globals", "off") abschalten?
mfg
Andreas
Hi,
kann man dies mit dem befehlt
ini_set("register_globals", "off") abschalten?
keine Ahnung, probier's aus.
Cheatah
Zur Info:
leider kann ich mit ini_set die einstellung register_globals nicht beeinflussen.
Andreas
hi,
leider kann ich mit ini_set die einstellung register_globals nicht beeinflussen.
dann beeinflusse sie anders.
z.b. über das setzen des php_values mittels einer .htaccess-datei.
gruss,
wahsaga
Hallo!
dann beeinflusse sie anders.
z.b. über das setzen des php_values mittels einer .htaccess-datei.
... was allerdings nur geht wenn man die Modul-Version vor sich hat.
Grüße
Andreas
Halihallo Andreas
leider kann ich mit ini_set die einstellung register_globals nicht beeinflussen.
Dann stell dies in der php.ini Datei ein. Falls du dies nicht kannst,
da der Server nicht bei dir steht und du keinen Zugriff darauf hast,
würde ich den Admin darum ersuchen, denn es ist ein
ernstzunehmendes Sicherheitsrisiko (wenn man nicht gut programmiert).
Viele Grüsse
Philipp
Hello,
Hi,
kann man dies mit dem befehlt
ini_set("register_globals", "off") abschalten?keine Ahnung,
glaub ich Dir nicht!
probier's aus.
Und nachlesen wäre auch nicht schlecht.
http://de2.php.net/manual/de/function.ini-set.php
register_globals "0" PHP_INI_PERDIR|PHP_INI_SYSTEM
bedeutet, dass es in der httpd.conf und in den VirtHosts und auch noch in einer .htaccess eingestellt werden kann, aber eben nicht PHP_INI_ALL, also nicht im Script. Das wäre ja auch unsinnig, da die SAuper-Globalen Variablen-Arrays dem Script als "Environment" beim Bilden der Instanz mitgegeben werden. Wenn das Script dann ausgewertet wird, existieren die also schon (oder eben nicht mehr separiert)
Du solltest mal http://tut.php-q.net ganz in Ruhe von vorne durcharbeiten. Das lohnt sich.
Liebe Grüße aus http://www.braunschweig.de
Tom