tim: bei require() immer komplette pfade - in php.ini einstellbar?

Hallo,

habe manchmal mit einem server zu tun, bei dem es irgendwie so eingestellt ist, dass man bei einem require() immer den komletten pfad eingeben muss.

Beispiel: "datei1.php" und "datei2.php" liegen im Ordner "ordner1".

  • auf dem Server:
    jetzt muss ich in "datei1.php" schreiben: "require("ordner1/datei2.php")"

  • auf meinem localhost:
    jetzt muss ich in "datei1.php" schreiben: "require("datei2.php")"

Jetzt zur eigentlichen Frage: Kann ich das irgendwo in der php.ini oder so einstellen ob man den kompletten pfad oder nur den relativen angeben muss?

  1. Hi tim,

    Jetzt zur eigentlichen Frage: Kann ich das irgendwo in der php.ini oder so einstellen ob man den kompletten pfad oder nur den relativen angeben muss?

    Ja, wenn im include_path der Punkt nicht als Teil der zu durchsuchenden Pfade enthalten ist, wird im aktuellen Verzeichnis nicht nach der Datei gesucht.

    Um das aktuelle Verzeichnis (repräsentiert durch einen Punkt) dem include_path] anzufügen, ohne den alten include_path dabei zu verlieren, nutze folgendes:

    ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . '.');

    Steht übrigens auch als Beispiel im PHP Manual ;-)

    Viele Grüße,
      ~ Dennis.

    1. Um das aktuelle Verzeichnis (repräsentiert durch einen Punkt) dem include_path] anzufügen, ohne den alten include_path dabei zu verlieren, nutze folgendes:

      ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . '.');

      Ok danke schonmal. und was müsste ich ändern, dass der alte include pfad verloren geht und ich immer den ganzen pfad eingeben muss?

      1. echo $begrüßung;

        und was müsste ich ändern, dass der alte include pfad verloren geht und ich immer den ganzen pfad eingeben muss?

        Vergleich doch mal in deinen beiden Fällen die Einstellung in der phpinfo()-Ausgabe.

        echo "$verabschiedung $name";

      2. Moin!

        Um das aktuelle Verzeichnis (repräsentiert durch einen Punkt) dem include_path] anzufügen, ohne den alten include_path dabei zu verlieren, nutze folgendes:

        ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . '.');

        Ok danke schonmal. und was müsste ich ändern, dass der alte include pfad verloren geht und ich immer den ganzen pfad eingeben muss?

        Ist doch einfach:
        ini_set('include_path', '');

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development