$PHP_SELF

Bash, Shell, PHP, Python, Perl, CGI
Anonymous

$PHP_SELF

Post by Anonymous »

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é
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: $PHP_SELF

Post by arty »

Hi,

das scheint ein Bug der 4.3.x Version zu sein: http://bugs.php.net/bug.php?id=22233

bye
arty
Anonymous

Vorsicht bei php4.3.x als cgi

Post by Anonymous »

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é
coolsurfer
Posts: 61
Joined: 2002-05-01 18:16

Re: $PHP_SELF

Post by coolsurfer »

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)

Code: Select all

auto_prepend_file = /etc/php.top
dann eine Datei /etc/php.top mit folgendem Inhalt erstellen:

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'];
Anonymous

Re: $PHP_SELF

Post by Anonymous »

... ich laß es erst mal so, frei nach dem Motto: "Never touch a running system!"
... aber trotzdem danke für den Tipp.

Gruß André