Fehlermeldung bei include() und readfile()

  • Hi,

    ich habe das Problem dass ich beim includen oder readfile folgende fehlermeldung erhalte:

    Zitat


    Warning: readfile(): open_basedir restriction in effect. File(/nav/.php) is not within the allowed path(s): (/var/www/vhosts/http://uss-cochrane.de/subdomains/arne/httpdocs:/tmp) in /var/www/vhosts/http://uss-cochrane.de/subdomains/arne/httpdocs/index.php on line 403

    Warning: readfile(/nav/.php): failed to open stream: Operation not permitted in /var/www/vhosts/http://uss-cochrane.de/subdomains/arne/httpdocs/index.php on line 403

    Bei include ist es folgende:

    Zitat


    Warning: main(): open_basedir restriction in effect. File(/nav/.php) is not within the allowed path(s): (/var/www/vhosts/http://uss-cochrane.de/subdomains/arne/httpdocs:/tmp) in /var/www/vhosts/http://uss-cochrane.de/subdomains/arne/httpdocs/index.php on line 403

    Warning: main(/nav/.php): failed to open stream: Operation not permitted in /var/www/vhosts/http://uss-cochrane.de/subdomains/arne/httpdocs/index.php on line 403

    Warning: main(): Failed opening '/nav/.php' for inclusion (include_path='.:') in /var/www/vhosts/http://uss-cochrane.de/subdomains/arne/httpdocs/index.php on line 403


    Die entsprechende Stelle im Code:

    PHP
    <div class="navi">
    		<?php
    			//Category öffnen
    			$category_path = "/nav/".$category.".php";
    			include("$category_path");
    		?>
    
    </div>

    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  • Operation not permitted
    --> ist verboten, vom server aus

    open_basedir restriction in effect

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Also leut admin verbietet der server nicht das Auslesen von Dateien !?

    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  • probier einfach mal
    include("nav/cat1.php"); oder so
    vll liegt der fehler ja wo anders ! (vll ohne den slash vorher oder kA^^)

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Da liegt das prob auch nicht!
    Die Datei setzt sich aus dem Verzeichnis und der aktuellen Sektion zusammen und die datei existiert auch mit dem namen der ausgeben wird...das hab ich schon überprüft.

    Ich kann die Datei auch aufrufen...nur beim includen machter zicken...

    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  • ja, das ist ein fehler, da musste dich an den admin wenden, wenn das verboten ist.
    ich denke nicht, dass es am chmod liegt, aber probier sonst einfach mal so, eine ANDERE seite aus nem anderen ordner zu includen (vll ein ordner mit chmod 777)

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Es ist alles auf chmod 777

    Aber ich werde den admin nochmal drauf ansprechen!

    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  • Interessant: Wenn die Datei im selben Verzeichnis wie der Index liegt, kann ich sie auslesen...

    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  • Dein Problem im Eingangsposting sit, daß "$category"leer ("") ist und du dadurch versuchst eine Datei namens ".php" zu öffnen.
    Solch eine Datei wird es auf deinem Server garantiert nicht geben.

    Sorge dafür, daß "$category" einen Wert hat, dann sollte es auch klappen.

    G.a.d.M.

    Ronald

  • Das ist nicht das Problem, da selbst wenn ich $category einen Wert gebe, die gleibe Fehlereldung kommt.

    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  • In der Fehlermeldung taucht hinter "httpdocs" ein Doppelpunkt im Pfadnamen auf, der gehört dort nicht hin. Du erzeugst irgendwie einen ungültigen Pfad. M.E. passiert das hier:

    Code
    $category_path = "/nav/".$category.".php";


    Laß mal vor dem 'nav' den Slash weg oder setze einen Punkt davor, das wäre beides richtig. So wie du es angibst erzeugst du ein ungültiges Verzeichnis, was dann auch erklärt, warum es funktioniert, wenn du das Script direkt mit in das Verzeichnis legst: dann fällt die Angabe ja weg.

    Do müßte es gehen:

    Code
    $category_path = "nav/$category.php";

    Ich meine, daß es das ist.

    G.a.d.M.

    Ronald

  • ja, das dachte ich auch schon:

    Zitat


    probier einfach mal
    include("nav/cat1.php"); oder so
    vll liegt der fehler ja wo anders ! (vll ohne den slash vorher oder kA^^)


    weil wenn es in dem gleichen ordner geht, dann geht es auch in jeden ordner in dem verzeichnis

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!