sporadisches Problem "open_basedir restriction in effec

Apache, Lighttpd, nginx, Cherokee
Post Reply
raschu
Posts: 4
Joined: 2005-02-16 08:59
Location: Hamburg
Contact:
 

sporadisches Problem "open_basedir restriction in effec

Post by raschu »

Hi,

ich (rootserver bei server4You mit "Confixx premium-edition 2003" auf apache2, suse 9.0 und php 4.3.3)
Ich habe dieses Forum durchsucht und leider keine Lösung gefunden.

Mein Problem:

Fehlermeldung:

[code]Warning: Unknown(): open_basedir restriction in effect. File(/srv/www/htdocs/web1/html/...) is not within the allowed path(s): (/srv/www/htdocs/web9/:/srv/www/htdocs/phpMyAdmin/:/srv/www/htdocs/confixx/html/gesperrt/) in Unknown on line 0

Warning: Unknown(/srv/www/htdocs/web1/html/...): failed to open stream: Operation not permitted in Unknown on line 0

Warning: (null)(): Failed opening '/srv/www/htdocs/web1/html/...for inclusion (include_path='.:/usr/share/php') in Unknown on line 0[/code]

Dieses Problem tritt scheinbar zufällig auf und verschwindet nach einem Apache restart kurzfristig. Es betrifft wohl nur Dateien mit der Endung *.php. Bei Webseiten mit anderer Endung tritt es nie auf.

Ich vermute es hat betwas mit "safe_mode" und PHP zu tun. Wenn ich mir die phpinfo-Datei ansehe stelle ich fest, dass der lokale Wert für z.B. web1 auf "off" steht und der globale auf "on". Wie stelle ich den lokalen Wert ebenfalls auf "on", bzw. lösst das überhaupt mein Problem?

Hülfä...
raschu
Posts: 4
Joined: 2005-02-16 08:59
Location: Hamburg
Contact:
 

Re: sporadisches Problem "open_basedir restriction in effec

Post by raschu »

Hi,

habe ich das Thema unzureichend beschrieben, oder gibt es keine einfache Lösung?

Jedenfalls gibt es zig Webseiten und somit auch Server, die mit dem Problem zu kämpfen haben. Das ergab ein "googlen" der Fehlermeldung.

Kennt denn jemand das Problem?
mc5000
Posts: 308
Joined: 2004-06-17 11:56
Location: Köln
 

Nicht wirklich!

Post by mc5000 »

Ich bin nicht ganz in der Diskussion drin, doch was macht die Datei die als erstes angemeckert wird?
File(/srv/www/htdocs/web1/html/...)
versucht die Datei auf ein File zuzugreifen das ausserhalb der open_basedir (in dem fall ja -> /srv/www/htdocs/web9/ oder /srv/www/htdocs/phpMyAdmin/ oder /srv/www/htdocs/confixx/html/gesperrt/) liegt ?? ich denke der zugriff von einer Seite unterhalb von web1 zu einer seite unterhalb von web9 wird nicht funktionieren!

Du weisst wozu open_basedir gut ist? (nicht böse sein - nur zur Sicherheit :wink: )

Safe_mode sollte lieber auf on stehen - es sei denn du weisst genau was du da machst...

Naja - soweit von mir :)
raschu
Posts: 4
Joined: 2005-02-16 08:59
Location: Hamburg
Contact:
 

Re: sporadisches Problem "open_basedir restriction in effec

Post by raschu »

Hi, danke für die Antwort.

Also: Safe_mode musste ich Probeweise mal off stellen. Ich habe dann wieder auf on gestellt. Leider erscheint aber in der phpinfo-Ausgabe immernoch ein "off" bei den lokalen werten. Global ist es aus.
...Aber das ist eine andere Geschichte.

Es ist nicht so, dass ich von .../web1/... irgendeinen Aufruf auf irgendeine andere File mache. Dort liegt lediglich eine normale index.php.

Das Problem tritt auch nicht nur bei dieser Datei, oder web1 auf, sondern auch mal bei z.B. web9 oder mal beim Confixx-Reseller.

Was mit open_basedir usw gemeint ist weiss ich ansatzweise. Also ich betreibe so 9 vserver (namensbasiert), dort wird ja jedem vserver gesagt, welche Verzeichnisse er nutzen soll.

Mir kommen die Tränen... Ich betone nocheinmal: Immer wenn ich den Apache neu starte taucht der Fehler eine zeitlang nicht mehr auf. Können evtl. irgendwelche Prozesse den Fehler zufällig zur Laufzeit verursachen?

Demjenigen, der das Problem lösst wird ein "virtueller Orden" auf meiner Webseite verliehen. ;-)
mc5000
Posts: 308
Joined: 2004-06-17 11:56
Location: Köln
 

von bugs.php.net

Post by mc5000 »

If one is having open_basedir on in one virtualhost, that open_basedir
is sometimes applied to another virtualhost without open_basedir
restriction. This is NOT a bug in the open_basedir code, but the
open_basedir function is feed with the wrong path, and triggers on that
one. Looks like some mem corruption or init problem that doesn't clean
the variables correctly before serving a new request.

Problem occours when a apache child that has served a open_basedir
restriced virtualhost, and the next request doesn't have open_basedir on
or does have a different open_basedir path. Looks like this only applies
to newly started apache childs also.

This is critical.
Lösung: Kontrollier ob alle Deine vHost auch die richtige open_basedir drin haben - auch ssl Einträge kontrollieren!

Dazu in die httpd.conf deines webservers schauen oder in die httpd specials (? oder wie heißt das da ?) von confixx ... 8)

Zu empfehlen ist demnach http://bugs.php.net
Suchwort open_basedir - Viel Erfolg :wink:
raschu
Posts: 4
Joined: 2005-02-16 08:59
Location: Hamburg
Contact:
 

Re: sporadisches Problem "open_basedir restriction in effec

Post by raschu »

Hi,

gut, jetzt habe ich eine Vermutung: Kann es sein, dass Confixx eine vhost.conf schreibt, die in httpd.conf eingebunden wird? Jedenfalls hatte ich da einen vhost-Eintrag doppelt drin, wobei einmal eine Zeile "safe_mode on" usw stand.

Ich habe auch auf anraten des Supports folgende Zeile:

Code: Select all

php_flag safe_mode on
durch:

Code: Select all

php_admin_value safe_mode on
ersetzt.

Jetzt warte ich mal was passiert...
[/code]
mc5000
Posts: 308
Joined: 2004-06-17 11:56
Location: Köln
 

die vermutung stimmt....

Post by mc5000 »

Kann es sein, dass Confixx eine vhost.conf schreibt, die in httpd.conf eingebunden wird?
Das ist richtig!
Jedenfalls hatte ich da einen vhost-Eintrag doppelt drin, wobei einmal eine Zeile "safe_mode on" usw stand.
Hört sich nicht richtig an - doch confixx schreibt die Einträge immer neu - die sollten stimmen - es sei denn Du hast im httpd-Menü von confixx spezielle Eintragungen gemacht die nicht ganz richitg sind.

Du solltes deshalb auch prüfen ob confixx die Werte nicht wieder ändert wenn du eine neue Domain/Subdomain oder ähnliches anlegst/änderst!

Poste doch mal einen Ausschnitt der vhost.conf
Post Reply