PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache + PHP: Setzen von Variablen ?



JeWe
21.06.07, 17:50
Hallo,

folgende Konstellation:

Red Hat Enterprise 4, Update 5. Apache 2.0.52-32. PHP 4.3.9-3.22.4.

Das Problem ist folgendes: Ich weise über ein Startskript verschiedenen Variablen einen Wert zu. Dann greife ich über Apache und PHP-Skripte auf eine programmierte Oberfläche zu. Schaue ich hier in die PHP-Umgebung, indem ich in die Browser-URL http://IP-Adresse/php.info eingebe, existieren diese Variablen nicht....

Mit der Kombination Red Hat Enterprise 4, Update 4, Apache 2.0.52-25 und PHP 4.3.9-3.15 funktionierte diese Vorgehensweise noch. Habe mir schon die Changelogs angesehen, kann dort aber nichts finden. Kann mir jemand sagen, woran es hakt ?

HirschHeisseIch
21.06.07, 18:46
Sorry, aber ich verstehe grade rein gar nichts...

Was für Variablen gibst Du bei was für nem Startscript was für Werte mit!?

marce
22.06.07, 07:26
Ansonsten kannst Du die php-Umgebungsvariablen auch in einer .htaccess-Datei definieren (oder in der httpd.conf)

JeWe
22.06.07, 08:49
OK, noch zur Verdeutlichung...

Ich benötige später diverse Variablen, nennen wir mal eine davon DB. In der Variable DB ist der Pfad zu einer Datenbank hinterlegt. Der Variablen DB wird ein Wert zugewiesen, der in einem Skript festgelegt ist, dass beim Start des Servers ausgeführt wird.

Das Komische daran ist, dass diese Variable in der PHP-Umgebung auch prinzipiell gesetzt ist. Das kann ich überprüfen, wenn ich mir eine beliebige Datei bastle, z.B. /tmp/test.txt. Diese Datei fülle ich mit

<?php
echo $DB
?>

Rufe ich das Ganze dann auf (php /tmp/test.txt), wird der Wert ausgegeben, den ich in obengenanntem Startskript festgelegt habe.

Rufe ich jetzt aber in einem Browser die php.info auf, erscheint dort in der PHP-Umgebung keine Variable DB. Warum nicht ?

@Marce
Habe mal diverse Konfig-Dateien durchgesehen. httpd.conf, php.conf usw.
Konnte dort aber nichts finden, habe die Dateien auch mit dem älteren Server abgeglichen, auf dem noch alles funktioniert (Red Hat 4, Update 4). Scheinen soweit alle identisch zu sein...

marce
22.06.07, 09:18
Oh Gott - das klingt nach einem RegisterGlobals-Phänomen...

Tipp: Lass das ja aus...

JeWe
22.06.07, 09:42
Öh ? Wie ? Was ?

OK, gehört hab ich davon schon mal, aber was genau muss ich da Deiner Meinung nach tun ?

marce
22.06.07, 09:55
Deine Scripte umprogrammieren.

MiGo
24.06.07, 09:15
OK, gehört hab ich davon schon mal, aber was genau muss ich da Deiner Meinung nach tun ?
"register_globals = off " in deine php.ini schreiben.
Zu deinem "Variablenproblem":

http://www.php.net/manual/de/reserved.variables.php#reserved.variables.environm ent

So greift man auf Umgebungsvariablen zu :)

JeWe
25.06.07, 09:56
Danke MiGo,

ich schaue mir das nochmal genauer an.