yavhcsu
Registered User
Ich habe im Bezug auf die Direktive php_admin_value open_basedir bei php 4 bzw. 5 hier ein Phänomen, was ich nicht so recht einordnen kann.
Zwei Installationen mit Ubuntu 6.06, jeweils mit PHP4 und PHP5. Unter /etc/apache2/sites-available befinden sich die gleichen conf Dateien u.a. mit ein und derselben Konstruktion:
Bei PHP4 gibt es mit dieser Direktiven mit Zugriff aus PHP auf Dateien, die in /tmp abgelegt werden, kein Problem. Bei PHP5 schon. Hier wird witzigerweise gemeckert, Open Base Restriction is in effect und "/tmp" wäre nicht innerhalb von "/var/www/meinpfad/:/tmp/:/usr/share/php/". Allerdings ist der Zugriff auf meinpfad dennoch zulässig.
So witzig war es zunächst auch nicht, bis ich drauf gekommen bin:
Der nachfolgende Schrägstrich bei jedem Verzeichnis weglassen, dann greift die Direktive vollständig.
Ich habe mal php.net gecheckt, da steht es so wie ursprünglich geschrieben.
Hat da jemand 'ne Erklärung dafür. Klar ist mir, dass hier nur Präfixe angegeben werden und dass der abschliessende Schrägstrich eigentlich lediglich anstelle des Präfix ein konkretes Verzeichnis angeben soll. Aber warum wird die Direktive mit diesen abschließenden Schrägstriche nur bei PHP4 scheinbar vollständig interpretiert.
Zwei Installationen mit Ubuntu 6.06, jeweils mit PHP4 und PHP5. Unter /etc/apache2/sites-available befinden sich die gleichen conf Dateien u.a. mit ein und derselben Konstruktion:
Code:
<Directory ...>
php_admin_value open_basedir "/var/www/meinpfad/:/tmp/:/usr/share/php/"
</Directory>
Bei PHP4 gibt es mit dieser Direktiven mit Zugriff aus PHP auf Dateien, die in /tmp abgelegt werden, kein Problem. Bei PHP5 schon. Hier wird witzigerweise gemeckert, Open Base Restriction is in effect und "/tmp" wäre nicht innerhalb von "/var/www/meinpfad/:/tmp/:/usr/share/php/". Allerdings ist der Zugriff auf meinpfad dennoch zulässig.
So witzig war es zunächst auch nicht, bis ich drauf gekommen bin:
Code:
<Directory ...>
php_admin_value open_basedir "/var/www/meinpfad:/tmp:/usr/share/php"
</Directory>
Ich habe mal php.net gecheckt, da steht es so wie ursprünglich geschrieben.
Hat da jemand 'ne Erklärung dafür. Klar ist mir, dass hier nur Präfixe angegeben werden und dass der abschliessende Schrägstrich eigentlich lediglich anstelle des Präfix ein konkretes Verzeichnis angeben soll. Aber warum wird die Direktive mit diesen abschließenden Schrägstriche nur bei PHP4 scheinbar vollständig interpretiert.
Last edited by a moderator: