Seite 1 von 1
php.ini -->Frage zu register_globals = on
Verfasst: 28.01.2008, 09:32
von catcat
moinmoinzusammen,
Ich habe auf dem Server einige Domains in versch. Ordnern:
root
|
-domain1
|
-domain2
|
-domain3
|
...
In der root habe ich ne php.ini mit register_globals = on
Nun brauche ich aber im Ordner domain 3 die register_globals = off.
Kann ich nu einfach in den Ordner domain3 eine neue php.ini reintun oder geht das grundsäztlich nicht? Ne, ne?
Oder wie kann ich das anders machen? Ich kann doch nicht in die php.ini der root reinschreibern: ordner1+2 haben register_globals = on und ordner3 register_globals = off.
hab ich schon erwähnt, das ich Montag nicht mag?
Verfasst: 28.01.2008, 09:44
von wbartl
Wenns auf deinem Server erlaubt ist, dann kannst du die Einstellungen aus der php.ini mit einer htaccess, die du ins Verzeichnis der Domain legst, übersteuern.
Habe das vor einiger Zeit schon mal gebraucht. Weiß den genauen Behl jetzt nicht, aber so ähnlich wie
php_flag register_globals 0
Verfasst: 28.01.2008, 09:56
von alpening
es gibt auch ini_set (oder so ählich) mit dem kannst du ein Einstellungen der php.ini innerhalb deines PHP-Codes verändern. Das muss der Server allerdings auch zulassen.
Verfasst: 28.01.2008, 10:19
von catcat
Aja
Jetzt hab ich gewusst, wonach ich suchen kann und siehe da.
Bitte beachten Sie, dass register_globals nicht während der Laufzeit Ihrer Skripte gesetzt werden kann (ini_set()). Wenn Ihr Server es erlaubt, können Sie aber .htaccess wie oben beschrieben verwenden. Beispiel für einen .htaccess Eintrag: php_flag register_globals on.
aus:
https://phpforum.de/php/php-handbuch/st ... er-globals
Danke! Nu gehts. Hm... 10_20: ich brauch ne pause bis 14:00
Verfasst: 28.01.2008, 10:21
von Troll
Also gegister_globals sollte/muß immer off sein. Wenn man es auf on schalten muß, ist es nichts anderes als schlampiger Code.
Kann ich nu einfach in den Ordner domain3 eine neue php.ini reintun oder geht das grundsäztlich nicht? Ne, ne?
Wenn Dein PHP als CGI konfiguriert ist, dann ja (und in einem speratem Ordner ). Da mußte Deinen Hoster Fragen
es gibt auch ini_set (oder so ählich) mit dem kannst du ein Einstellungen der php.ini innerhalb deines PHP-Codes verändern. Das muss der Server allerdings auch zulassen.
ini_set gibt es. aber nicht für diesen Wert!
Kurz und kanpp: Mit dieser Frage mußt Du dich an Deinen Hoster wenden, da wir nicht wissen, wie der Server konfiguriert ist. Sorry
Gruß
Troll
Verfasst: 28.01.2008, 10:59
von dandy11
This will emulate register_globals On.
Code: Alles auswählen
<?php
// Emulate register_globals on
if (!ini_get('register_globals')) {
$superglobals = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobals, $_SESSION);
}
foreach ($superglobals as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
ini_set('register_globals', true);
}
?>
This will emulate register_globals Off
Code: Alles auswählen
<?php
// Emulate register_globals off
if (ini_get('register_globals')) {
$superglobals = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobals, $_SESSION);
}
foreach ($superglobals as $superglobal) {
foreach ($superglobal as $global => $value) {
unset($GLOBALS[$global]);
}
}
ini_set('register_globals', false);
}
?>
Nicht probiert, nur
hier gefunden.
Verfasst: 28.01.2008, 11:51
von auftragslinker
aber sicherlich kannst du innerhalb einer domain/vhost die ordner unterschiedlich konfigurieren. sogar unabhängig vom vhost, wenn du willst
<Directory "/var/www/blabla/deinverzeichnis/">
php_admin_flag register_globals On
</Directory>
am ende deiner apache2.conf sollte es tun