open_basedir restriction / failed to open stream

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Loewenherz
Mitglied
Beiträge: 624
Registriert: 10.02.2003 20:11
Wohnort: Saarlouis
Kontaktdaten:

Beitrag von Loewenherz »

jensemann hat geschrieben:Dann lies eben solang doku bis du kein newbie mehr bist.
Mach ich ja. Die einzige Chance was zu lernen. Einen Tipp nur blind umsetzen, ist nicht meine Sache.
dann installier doch debian? Is doch nich schwer, auch aufm rootserver.
Nicht auf meinem Hauptsystem, ohne tieferes Wissen. Und dann wieder mit webmin rummachen... Das wäre Selbstüberschätzung. Lieber erst lokal üben. Zum Glück ist Yast ja relativ komfortabel.
Zu confixx kann ich nur sagen, frag den confixx support
Das hat sich ja erledigt.

Die Frage ist also weiterhin, warum das Includieren mit $DOCUMENT_ROOT. plötzlich nicht mehr funktioniert. open_basedir sollte nicht ins Gewicht fallen, da der Safe Mod auf Off steht. Scheinbar greift's aber. An dieser Stelle bin ich einfach hilflos und würde es gern auf die Reihe kriegen, da mein alter RootServer bald abgeschaltet wird und ich noch mit einer Menge Seiten umziehen muss...
Benutzeravatar
Loewenherz
Mitglied
Beiträge: 624
Registriert: 10.02.2003 20:11
Wohnort: Saarlouis
Kontaktdaten:

Beitrag von Loewenherz »

Beim Suchen bin ich nach Infos in http://www.debianhowto.de/howtos/de/web ... pache.html jetzt einmal in /etc/apache2/confixx_vhost.conf auf folgendes gestossen:

Code: Alles auswählen

<Virtual Host 82.165.xx.xx:80>
ServerName domain2.domain1.de
ServerAlias domain2.de www.domain2.de domain3.de www.domain3.de
DocumentRoot /home/htdocs/web0/html/muzik
SuexecUserGroup web0 ftponly
ScriptAlias /cgi-bin/ /home/htdocs/web0/html/cgi-bin
php_admin_value open_basedir /home/htdocs/web0/
php_admin_flag safe_mode On
php_admin-value safe_mode_exec_dir /home/htdocs/web0/
php_admin_value file_uploads 1
php_admin_value upload_tmp_dir /home/htdocs/web0/phptmp/
</VirtualHost>
Hilft das weiter?
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Das ist der Grund.

bei phpinfo() bedeutet local in der http.conf/.htaccess, global php.ini.

Lösche einfach

Code: Alles auswählen

php_admin_value open_basedir /home/htdocs/web0/
php_admin_flag safe_mode On
php_admin-value safe_mode_exec_dir /home/htdocs/web0/ 
dann sollte das funzen.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Benutzeravatar
Loewenherz
Mitglied
Beiträge: 624
Registriert: 10.02.2003 20:11
Wohnort: Saarlouis
Kontaktdaten:

Beitrag von Loewenherz »

Danke Sascha. Dieser Eintrag wird allerdings m.E. von Confixx erzeugt auf der Basis eines anderen Eintrages in der Konfiguration des Webservers. Das heisst: wenn ich ihn lösche, wird er beim nächsten Restart wieder hergestellt. Ich muss also irgendeine andere Datei ändern. Aber seit der Umstellung auf Apache 2 blicke ich kaum noch durch, wo was liegt.

Die aktuellen Einstellungen der php.ini in dieser Sektion auf einen Blick:

Code: Alles auswählen

safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir = 
safe_mode_exec_dir = 
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
; open_basedir = 0
disable_functions =
disable_classes =
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Loewenherz hat geschrieben:Eingebunden sind sie z.B. per

Code: Alles auswählen

<?php
include($DOCUMENT_ROOT."/inc/html/header.php");
?>
Scheinbar scheint der Apache nicht zu raffen, dass er runter muss via Document Root. Ob mir die Chose durch einen Wechsel in PHP verhagelt wird? Der alte Server hatte 4.2.2, der neue 4.3.3.
$DOCUMENT_ROOT gibt es nur, wenn register_globals aktiviert ist, ansonsten musst du $_SERVER['DOCUMENT_ROOT'] verwenden.
Benutzeravatar
Loewenherz
Mitglied
Beiträge: 624
Registriert: 10.02.2003 20:11
Wohnort: Saarlouis
Kontaktdaten:

Beitrag von Loewenherz »

Danke Pyramide, mit register_globals = On funktioniert es. Aber ich denke, die andere Syntax sollte besser sein, ich stells denn mal um. Dein Posting hat dieses Problem komplett gelöst, Super!
Benutzeravatar
Loewenherz
Mitglied
Beiträge: 624
Registriert: 10.02.2003 20:11
Wohnort: Saarlouis
Kontaktdaten:

Beitrag von Loewenherz »

Später Nachtrag:
Nachdem dieses Problem nach einer Serverumstellung trotz korrekter Syntax wieder aufgetaucht ist, habe ich einen anderen Grund gefunden: Und zwar das Einbinden von absoluten Includes innerhalb von Includes. Also statt

Code: Alles auswählen

include($_SERVER['DOCUMENT_ROOT']."/inc/html/footer.php";
innerhalb einer bereits includierten php-Datei nur noch

Code: Alles auswählen

include("footer.php");
wenn sich das zweite Include im selben Ordner befindet.

Nur für denn Fall, dass dieses Problem jemals bei jemand anderem auftauchen sollte.
Antworten

Zurück zu „Coding & Technik“