Hi,
hat jemand ne Ahnung, wie ich in PHP4.3.1 (als cgi-Version kompiliert) die korrekte Ausgabe der PHP_INFO Variable hinbekomme? Ich habe hier schon gelesen, daß es ein bekannte Bug ist - zumindest in php4.3.0, ich habe aber kein Bugfix dafür finden können?
Gruß
André
$PHP_SELF
Vorsicht bei php4.3.x als cgi
Also:
Ich rate allen, die PHP als cgi kompilieren wollen, von der Verwendung der 4.3.0 / 4.3.1er Versionen ab. Dort wird die $PHP_SELF nicht korrekt gesetzt und es gibt offenbar auch kein Bugfix!!!
Bei mir läuft nun wieder php4.2.3 ...
In der Modul-Version funktioniert es übrigens ...
Gruß
André
Ich rate allen, die PHP als cgi kompilieren wollen, von der Verwendung der 4.3.0 / 4.3.1er Versionen ab. Dort wird die $PHP_SELF nicht korrekt gesetzt und es gibt offenbar auch kein Bugfix!!!
Bei mir läuft nun wieder php4.2.3 ...
In der Modul-Version funktioniert es übrigens ...
Gruß
André
-
- Posts: 61
- Joined: 2002-05-01 18:16
Re: $PHP_SELF
Hi,
es gibt gleich mehrere "BugFixes"
1. Die regelmässig erstellten Hourly-Snapshots haben diesen Fehler nicht; dafür kürzen diese das "?" am Ende der URL nicht weg :-( $PHP_SELF ist dort also ggf. "test.php?id=123" (macht also auch nicht wirklich Sinn)
2. Es gibt einen problemlos funktionierenden Workarround
In die Datei /etc/php.ini folgendes einfügen (oder die Zeile suchen und verändern)
dann eine Datei /etc/php.top mit folgendem Inhalt erstellen:
es gibt gleich mehrere "BugFixes"
1. Die regelmässig erstellten Hourly-Snapshots haben diesen Fehler nicht; dafür kürzen diese das "?" am Ende der URL nicht weg :-( $PHP_SELF ist dort also ggf. "test.php?id=123" (macht also auch nicht wirklich Sinn)
2. Es gibt einen problemlos funktionierenden Workarround
In die Datei /etc/php.ini folgendes einfügen (oder die Zeile suchen und verändern)
Code: Select all
auto_prepend_file = /etc/php.top
Code: Select all
// Small Workaround for a bug in PHP 4.3.0/cgi
// See http://bugs.php.net/bug.php?id=21261 for details
$_SERVER['SCRIPT_NAME'] = substr($_SERVER['PATH_TRANSLATED'], strlen($_SERVER['DOCUMENT_ROOT']));
if (substr($_SERVER['SCRIPT_NAME'], 0, 2) == '//') {
$_SERVER['SCRIPT_NAME'] = substr($_SERVER['SCRIPT_NAME'], 1);
}
$PHP_SELF =
$SCRIPT_NAME =
$_SERVER['PHP_SELF'] =
$_SERVER['SCRIPT_NAME'];
Re: $PHP_SELF
... ich laß es erst mal so, frei nach dem Motto: "Never touch a running system!"
... aber trotzdem danke für den Tipp.
Gruß André
... aber trotzdem danke für den Tipp.
Gruß André