Seite 1 von 2
INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 18:19
von RubberDuck
Das Forum liegt in einem Unterordner und dort liegt die Datei dummy.php.
/forum/dummy.php
Es gibt auch die passende dummy.html im Style und bis hierhin wird auch alles korrekt ausgegeben.
In einem weiteren Ordner liegt die Datein test.php, also ausserhalb von /forum/ !
/test/test.php
Diese soll nun in dummy.html mit
eingebunden werden.
Nur irgendwie lässt mich INCLUDEPHP nicht aus dem Root vom Forum raus. Es kommt diese Meldung
Code: Alles auswählen
template->_php_include(): File ./../test/test.php does not exist or is empty
Keine Ahnung warum er immer den
./ davor setzt.
Hat evtl. jemand eine Idee? Ich meine das es bei den vorherigen Versionen noch funktionierte.
phpBB ist natürlich auf dem aktuellen Stand.
Danke.
Gruß
Rene
Re: INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 19:58
von modernist
Hast du's schon mit ./test/test.php versucht? Mit nur einem Punkt.
Ansonsten wäre vielleicht eine absolute Pfadangabe eine Alternative
http://forum.tld/test/test.php?
Re: INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 20:25
von RubberDuck
modernist hat geschrieben:Hast du's schon mit ./test/test.php versucht? Mit nur einem Punkt.
Ansonsten wäre vielleicht eine absolute Pfadangabe eine Alternative
http://forum.tld/test/test.php?
Mit ./ geht es nicht, dann macht er selber
././ draus. Und der über http:// geht leider auch nicht, denn der betreffende Ordner, bzw. dessen Inhalt, kann nicht über http:// aufgerufen werden.
Habe auch nochmal versucht herauszufinden wo diese eine ./ herkommt, aber leider ohne Erfolg.
Gruß
Rene
Re: INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 20:39
von Mahony
Hallo
Schau mal hier
http://www.akademie.de/gestalten/html-u ... pfade.html
Bei INCLUDEPHP wird immer vom Forum-root ausgegangen.
Demnach sollte also
../test/test.php der richtige Pfad sein (vorletztes Beispiel im verlinkten Beitrag).
Grüße: Mahony
Re: INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 20:48
von RubberDuck
Hallo Mahony
Das habe ich mir ja auch gedacht und es so auch angegeben. Das Ergebniss ist dann
Eingegeben:
Fehlermeldung:
Code: Alles auswählen
template->_php_include(): File ./../test/test.php does not exist or is empty
Es wird immer wieder ein "
./" davor gesetzt. Ich komme also nicht aus dem Forenroot nach oben hin raus.
Gruß
Rene
Re: INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 21:55
von Mahony
Hallo
Frage: Welche phpBB3 - Version hast du im Einsatz?
siehe
http://www.phpbb.com/community/viewtopi ... #p11235105
A non-comprehensive list of smaller changes implemented in phpBB 3.0.6
INCLUDEPHP paths are now relative to $phpbb_root_path.
P.S. Ansonsten kannst du es auch so versuchen
Code: Alles auswählen
<!-- PHP -->
include('http://www.website.com/test/test.php');
<!-- ENDPHP -->
oder eben mit Dateisystem-Pfad "/home/www/public_html.." (oder so ähnlich - Den genauen Dateisystem-Pfad erfährst Du von Deinem Webhoster.)
Grüße: Mahony
Re: INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 22:40
von RubberDuck
Hallo Mahony
A non-comprehensive list of smaller changes implemented in phpBB 3.0.6
INCLUDEPHP paths are now relative to $phpbb_root_path.
Genau das ist es. Da wird in der templates.php einfach das $phpbb_root_path davor gesetzt und da kommt dann auch der "./" her. Nimmt man das $phpbb_root_path weg, dann klappt es auch. Komisch ist nur, das es erst jetzt aufgetreten ist nach dem Umzug auf den neuen Server. Auf dem alten Server klappte es auch noch mit der 3.0.7p1 trotz des $phpbb_root_path. Also selbe phpBB Version und unterschiedliche Reaktion auf den beiden Servern.
Ansonsten kannst du es auch so versuchen
Code: Alles auswählen
<!-- PHP --> include('http://www.website.com/test/test.php'); <!-- ENDPHP -->
Das ging ja nicht, weil die Inhalte aus dem Ordner nicht direkt über http zu erreichen sind.
Code: Alles auswählen
<!-- PHP --> include('../test/test.php'); <!-- ENDPHP -->
Und das führte zum gleichen Ergebnis.
Ich habe nun das $phpbb_root_path rausgeworfen und nun klappt es wie immer. Schade nur, das von Seiten der Forensoftware diese Einschränkungen gemacht werden und man es quasi "aufgezwungen" bekommt wie man seine Verzeichnisse anzulegen hat. Ein "Schalter" im Adminbereich würde einem die Wahl lassen
Trotzdem Danke für die Mühe.
Gruß
Rene
Re: INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 22:42
von Mahony
Hallo
RubberDuck hat geschrieben:Das ging ja nicht, weil die Inhalte aus dem Ordner nicht direkt über http zu erreichen sind
Mahony hat geschrieben:oder eben mit Dateisystem-Pfad "/home/www/public_html.." (oder so ähnlich - Den genauen Dateisystem-Pfad erfährst Du von Deinem Webhoster.)
Das sollte dann funktionieren.
Grüße: Mahony
Re: INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 22:48
von RubberDuck
Nein, ging ja auch nicht weil dann das "./" wieder davon stand. War dann wieder
".//var/ww/..............."
Wie gesagt, das ging dann nur durch die Änderung in der templates.php und nun läuft es wieder.
Gruß
Rene
Re: INCLUDEPHP ausserhalb des root
Verfasst: 16.09.2010 22:55
von Mahony
Hallo
Hast du es mit Code: Alles auswählen
<!-- PHP -->
include('Dateisystem-Pfad/test.php');
<!-- ENDPHP -->
versucht?
Grüße: Mahony