seit wann gilt "$SELF_PHP" nicht mehr?
Christoph Schnauß
- php
0 Henryk Plötz1 Tobias Kloth0 Tom
hallo Forum,
heute habe ich gleich von drei Leuten, denen ich irgendwann mal, teilweise vor zwei und mehr Jahren, irgendwelche kleinen PHP-Scripts geschrieben habe, Beschwerden erhalten, daß plötzlich "nichts mehr" geht. Alle drei sind "Normal-User", die bloß irgendwo klickern wollen, und dann muß alles so funktionieren, wie sie es erwarten (dafür ist der Kaffee, den ich von ihnen gelegentlich so alle halben Jahre spendiert bekomme, kostenfrei, und ab und an tut auch der eine oder andre so, als ob er ein Scheinchen verloren hätte, das sich dann ganz zufällig in meine Jackentasche verirrt haben könnte).
Das Problem war, wie sich herausstellte, daß der/die jeweilige/n Provider sein PHP auf eine neuere Version upgedatet hat und plötzlich die Variable $SELF_PHP durch $_SERVER['PHP_SELF'] ersetzt werden muß. Ich hab ein Weilchen gebraucht, bis ich das herausgefunden hatte. Jetzt interessiert mich aber: ab welcher PHP-Version ist das so? Und sind Scripts, die eine Variable $_SERVER['PHP_SELF'] benutzen wollen, auch bei Providern mit älteren PHP-Versionen einsetzbar?
Grüße aus Berlin
Christoph S.
Moin,
Das Problem war, wie sich herausstellte, daß der/die jeweilige/n Provider sein PHP auf eine neuere Version upgedatet hat und plötzlich die Variable $SELF_PHP durch $_SERVER['PHP_SELF'] ersetzt werden muß. Ich hab ein Weilchen gebraucht, bis ich das herausgefunden hatte. Jetzt interessiert mich aber: ab welcher PHP-Version ist das so?
Och komm schon, du machst das doch auch nicht erst seit gestern: http://www.php.net/manual/de/language.variables.predefined.php
hallo Henryk,
Och komm schon, du machst das doch auch nicht erst seit gestern
Nö. Das mache ich schon seit etlichen Jahren.
http://www.php.net/manual/de/language.variables.predefined.php
Äh ... jajajaja. Habbich gelesen. Aber vielleicht hab ich genau die Stelle überlesen, an der verzeichnet ist, ab wann das gilt. Oder ich müßte mal Brille putzen :-(
Grüße
Christoph S.
Moin,
http://www.php.net/manual/de/language.variables.predefined.php
Äh ... jajajaja. Habbich gelesen. Aber vielleicht hab ich genau die Stelle überlesen, an der verzeichnet ist, ab wann das gilt. Oder ich müßte mal Brille putzen :-(
Offensichtlich. Ich darf mal zitieren:
Warnung |
---|
Ab PHP 4.2.0 ist der standardmäßige Wert für die PHP-Anweisung |
register_globals off. Dies ist eine wesentliche Änderung in PHP. |
Die Anweisung register_globals off beeinflusst den Satz von |
vordefinierten Variablen, die im globalen Bereich verfügbar sind. |
Um zum Beispiel DOCUMENT_ROOT zu bekommen, müssen Sie |
$_SERVER['DOCUMENT_ROOT'] statt $DOCUMENT_ROOT verwenden oder |
um $id von der URL http://www.example.com/test.php?id=3 zu |
bekommen $_GET['id'] statt $id oder $_ENV['HOME'] statt $HOME. |
Für diese Änderung betreffende Informationen lesen Sie bitte den |
Konfigurations-Eintrag für register_globals, das Sicherheitskapitel |
über die Verwendung von Register Globals und außerdem die PHP 4.1.0 |
und 4.2.0 Release Announcements. |
Die reservierten vordefinierten Variablen, wie die Superglobalen Arrays, |
sollten bevorzugt verwendet werden. |
hallo Henryk,
Offensichtlich. Ich darf mal zitieren:
| Ab PHP 4.2.0 ist der standardmäßige Wert für die PHP-Anweisung
| register_globals off.
Solange es um ein auf meinem eigenen System installiertes PHP ging, war mir die Geschichte mit register_globals schon klar, das hatten wir ja nun wirklich auch oft genug hier im Forum. Hier gehts aber nicht um meinen eigenen Rechner.
| Die Anweisung register_globals off beeinflusst den Satz von
| vordefinierten Variablen, die im globalen Bereich verfügbar sind.
Pah, im von dir bereits zitierten Handbuch gibts nirgends $PHP_SELF (mit Ausnahme der user-Kommentare). :-p
Ich finde es ja prima, wenn ein Provider seine installierte PHP-Version (endlich) updatet. Aber wenn er das nicht weiter mitteilt und ich empörte mails von "usern" bekomme mit dem Inhalt: "dein Script funktioniert nicht mehr, repariere das mal schleunigst, sonst gibts beim nächsten Hausbesuch keinen Kaffee mehr", bin ich erstmal verunsichert, grmpf.
Grüße
Christoph S.
Pah, im von dir bereits zitierten Handbuch gibts nirgends $PHP_SELF (mit Ausnahme der user-Kommentare). :-p
Ach papperlapapp :-) das Ding hat sich nur im Anhang versteckt.
Hello,
Solange es um ein auf meinem eigenen System installiertes PHP ging, war mir die Geschichte mit register_globals schon klar, das hatten wir ja nun wirklich auch oft genug hier im Forum. Hier gehts aber nicht um meinen eigenen Rechner.
Noch spannender wird das beim Übergang von PHP4 nach PHP5, wenn die Provider die Redudanzen nicht der Global- und der Superglobal-Arrays abschalten können (oder eben nicht einschalten).
Dann dürften ganz viele Scripte nicht mehr funzen[tm]
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Christoph,
Das Problem war, wie sich herausstellte, daß der/die jeweilige/n Provider sein PHP auf eine neuere Version upgedatet hat und plötzlich die Variable $SELF_PHP
du meinste »$PHP_SELF«, oder?
durch $_SERVER['PHP_SELF'] ersetzt werden muß. Ich hab ein Weilchen gebraucht, bis ich das herausgefunden hatte. Jetzt interessiert mich aber: ab welcher PHP-Version ist das so?
Seit Version 4.2.0 in der register_globals standardmäßig auf off gestellt wurde.
Und sind Scripts, die eine Variable $_SERVER['PHP_SELF'] benutzen wollen, auch bei Providern mit älteren PHP-Versionen einsetzbar?
bei Versionen >= 4.1.0: ja (die superglobalen Arrays gibt es erst seit dieser Version) - dürften Provider mit einer so veralteten Version nicht besonders häufig anzutreffen sein ...
Grüße aus Nürnberg
Tobias
ups,
[...] plötzlich die Variable $SELF_PHP
du meinste »$PHP_SELF«, oder?
ohje, ich hab ja noch gar keinen einzigen Tropfen Holunderwein getrunken heute. Na klar meine ich das.
bei Versionen >= 4.1.0: ja (die superglobalen Arrays gibt es erst seit dieser Version) - dürften Provider mit einer so veralteten Version nicht besonders häufig anzutreffen sein...
Aha, danke. Das wars so ungefähr.
Grüße aus Berlin
Christoph S.
Hello Christoph,
Du hast schon öfter darüber diskutiert:
http://suche.de.selfhtml.org/cgi-bin/such.pl?suchausdruck=author%3A+Christoph+Schnauß+register_globals&lang=on&feld=alle&index_5=on&index_6=on&index_7=on&hits=100
Harzliche Grüße aus http://www.annerschbarrich.de
Tom