Config außerhalb des Document-Root includen

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.
Antworten
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Config außerhalb des Document-Root includen

Beitrag von scheibenbrot »

Hallo,
ich möchte die config.php in der common.php außerhalb des Document Roots includen.
Damit ich die Datei so includen kann muss ich folgendes Ändern:

Code: Alles auswählen

include($phpbb_root_path . 'config.'.$phpEx);
auf

Code: Alles auswählen

include($phpbb_root_path . 'www/htdocs/LOGINNAME/config.'.$phpEx);
Allerdings erhalte ich dann die Fehlermeldung:

Code: Alles auswählen

Warning: main(.//www/htdocs/LOGINNAME/config.php): failed to open stream: No such file or directory in /www/htdocs/LOGINNAME/ORDNER/phpBB2/common.php on line 216

Warning: main(.//www/htdocs/LOGINNAME/config.php): failed to open stream: No such file or directory in /www/htdocs/LOGINNAME/ORDNER/phpBB2/common.php on line 216

Warning: main(): Failed opening './/www/htdocs/LOGINNAME/config.php' for inclusion (include_path='.:/usr/share/php:..') in /www/htdocs/LOGINNAME/ORDNER/phpBB2/common.php on line 216

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/LOGINNAME/ORDNER/phpBB2/common.php:216) in /www/htdocs/LOGINNAME/ORDNER/phpBB2/common.php on line 220
(wegen der Sicherheit musste ich die Pfadangaben etwas verändern)

Mein Hoster Support teilte mir mit:
Hallo,

wenn ich mir die Zeile

include($phpbb_root_path . '/www/htdocs/LOGINNAME/config.'.$phpEx);

ansehe, komme ich auf die folgende Ursache. Wenn in der Variable $phpbb_root_path der Wert ./ steht, ist es der Fehler. Aus diesem Grund erhalten Sie die Fehlermeldung:

Warning: main(.//www/htdocs/LOGINNAME/config.php):.....

Dort finden Sie am Anfang den Punkt und den folgendes Slash zu viel. Bitte ändern Sie einmal die o.g. Zeile entsprechend ab. Danach sollte dies auch funktionieren.
Was muss ich nun in der Zeile

Code: Alles auswählen

include($phpbb_root_path . '/www/htdocs/LOGINNAME/config.'.$phpEx);
ändern, damit ich die config.php ohne Probleme includen kann (außerhalb des Document Root)??
Danke

mfg
Love is the slowest form of suicide.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Warum nicht einfach das tun, was der Support vorschlägt?
Lass $phpbb_root_path weg. Deine Pfadangabe beschreibt einen absoluten Pfad, das ./ dagegen einen relativen. Beides zusammen kann nicht funktionieren.
Das Forum arbeitet mit relativen Pfaden um Problemen mit unterschiedlichen Pfaden aus dem Weg zu gehen. Wenn du das aber so beschreiben willst dann darf da keine Komponente mehr von enthalten sein.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

Wenn ich das mache was in So mache ich mein Board sicher steht, also:

Code: Alles auswählen

<?php
    require('/directory/config.php');
?>
bekomme ich immer noch die Fehlermeldung:

Code: Alles auswählen

Warning: main(/www/htdocs/LOGINNAME/config.php): failed to open stream: No such file or directory in /www/htdocs/LOGINNAME/ORDNER/phpBB2/config.php on line 2
Love is the slowest form of suicide.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Poste doch mal bitte deine config.php. (Passwort entfernen :-))
Die Warnung kommt nicht von

Code: Alles auswählen

require('/directory/config.php');
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

Wenn ich auf die gleiche Datei innerhalb der Document Roots verweise funktioniert alles.
Hier mal die config.php:

Code: Alles auswählen

<?php


// phpBB 2.x auto-generated config file
// Do not change anything in this file!

$dbms = 'mysql';

$dbhost = 'localhost';
$dbname = 'zensiert';
$dbuser = 'zensiert';
$dbpasswd = 'zensiert';

$table_prefix = 'phpbb_';

define('PHPBB_INSTALLED', true);

?>
Love is the slowest form of suicide.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ein require würde allerdings keine Warning sondern einen Error mit Abbruch erzeugen.
Hast du ein Include verwendet?
Oder fehlt da noch ein Teil der Fehlermeldung?

Evtl. hat der User des Webservers keinen Zugriff auf das Verzeichnis? (Wobei ich dann eigentlich einen Fehler "permission denied" erwarten würde)
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
scheibenbrot
Mitglied
Beiträge: 1552
Registriert: 23.12.2005 14:32

Beitrag von scheibenbrot »

Das Problem lag an einem verzeichnisschutzt, danke für eure hilfe :oops:
Love is the slowest form of suicide.
Antworten

Zurück zu „Coding & Technik“