Benutzerdefinierte Suche

DocumentRoot Problem

  1. tigerstyle

    tigerstyle Thread StarterMacUser Mitglied

    Mitglied seit:
    29.11.2004
    Beiträge:
    391
    Zustimmungen:
    2
    Hi,

    wenn ich ein File includen will mit:
    include("subfolder/file.inc.php");
    Dann klapp das ganz normal.
    Wenn ich jetzt aber ein File includieren will, welches in einem übergeordneten Verzeichnis liegt klappt das auf meiner lokalen Testumgebung nicht mehr.

    Auf dem Server im Internet ist /kunden mein oberstes Verzeichnis, aber lokal liegt es hier: /User/Tigerstyle/Sites/kunden
    DocumentRoot ist auf /User/Tigerstyle/Sites eingestellt.
    Wenn ich jetzt aber include("/kunden/subfolder/file.inc.php"); mache, dann sucht er, denk ich mal, wirklich ganz oben in /kunden obwohl es aber in /User/Tigerstyle/Sites/kunden liegt. Kann man irgendwo im Apache oder so einstellen, dass /Sites (s.o) das absolute Rootverz. ist und man nicht höher zugreifen kann?

    Ich hoffe mein Problem ist klar, und ihr könnt mit helfen.

    Danke schonmal.
     
    tigerstyle, 12.02.2005
  2. Nogger

    NoggerMacUser Mitglied

    Mitglied seit:
    03.08.2004
    Beiträge:
    367
    Zustimmungen:
    0
    Alias /foobar "/User/Tigerstyle/Sites/"

    in die httpd.conf

    Apache neu starten, danach kannst du die Seite über http://localhost/foobar/ aufrufen.
     
    Nogger, 12.02.2005
  3. persil

    persilMacUser Mitglied

    Mitglied seit:
    22.05.2004
    Beiträge:
    199
    Zustimmungen:
    0
    öhm. nö. außer du legst direkt auf deiner platte (quasi ganz unten, im root, wenn du doppelt auf deine platte im finder klickst ;-) ) nen ordner mit dem namen "kunden" an.
    ansonsten kannst du mit include('./ordner/file'); vom docroot aus adressieren.
     
    persil, 12.02.2005
  4. tigerstyle

    tigerstyle Thread StarterMacUser Mitglied

    Mitglied seit:
    29.11.2004
    Beiträge:
    391
    Zustimmungen:
    2
    Das klappt leider nicht. Er findet immer noch nichts.
    Das will ich eben vermeiden. Das ist dann die letzte Möglichkeit.
    Aber ich dachte es gibt vielleicht noch mehr trickts in der httpd.conf oder php.ini?
     
    tigerstyle, 12.02.2005
  5. persil

    persilMacUser Mitglied

    Mitglied seit:
    22.05.2004
    Beiträge:
    199
    Zustimmungen:
    0
    IMHO nicht. absolut adressieren ist eben absolut. da gibt es keinen weg dran vorbei ;-)

    öhm. meinst du jetzt das mit dem ordner anlegen oder dem punkt vor dem ersten slash?
     
    persil, 12.02.2005
  6. Nogger

    NoggerMacUser Mitglied

    Mitglied seit:
    03.08.2004
    Beiträge:
    367
    Zustimmungen:
    0
    Dann solltest du in der Logdatei nach dem Fehler suchen.

    In der php.ini kannst du auch den include_path erweitern (vorher mit phpinfo() den alten Wert anzeigen lassen).
     
    Nogger, 12.02.2005
  7. maceis

    maceisMacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Doch, da gibts nen sehr einfachen Trick. :)
    Und zwar ganz ohne verbiegen der http.conf oder der php.ini

    man schreibt enweder in jeder Datei oder in eine Datei, die man immer wieder included:
    PHP:
    $docroot=$_SERVER['DOCUMENT_ROOT'];
    $host=$_SERVER['HTTP_HOST']
    Nun kann man die Variablen $docroot (für Pfadangaben auf Dateien) und $host (für Pfandangaben in Links) unabhängig von der jeweiligen Umgebung verwenden.
    Beispiel:
    PHP:
    include("$docroot/files/head.txt");
    print 
    "<a href=\"$host/subdir1/subdir2/site7.html\">Link</a>"
    Ich mach das grundsätzlich so (in Perl funktioniert es ähnlich)
    Kann ich mir - ehrlich gesagt - gar nicht mehr anders vorstellen.
     
    maceis, 13.02.2005
  8. Nogger

    NoggerMacUser Mitglied

    Mitglied seit:
    03.08.2004
    Beiträge:
    367
    Zustimmungen:
    0
    Da ist zweimal ein "include(" zuviel, das müssen wir abziehen, das macht dann in Schilling... ;-)

    Du könntest in dieser zentralen Datei mit ini_set() den include_path zu ändern, dann mußt du $docroot nicht in die include() Aufrufe einbauen.

    Wäre natürlich auch eine Möglichkeit für die Fragestellung hier.
     
    Nogger, 13.02.2005
  9. maceis

    maceisMacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Danke für den Hinweis. Ich sollte nicht nach Mitternacht posten :)
    (Hab's oben geändert um niemanden zu verwirren.)
     
    maceis, 13.02.2005
  10. oneOeight

    oneOeightMacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.178
    Zustimmungen:
    3.895
    warum machst du kein include("kunden/subfolder/file.inc.php");
    bzw lässt dir mal von php den pfad ausgeben damit du weißt wo du bist und machst das ganze dann relativ "../" müsste dich immer ein ebene höher bringen.
     
    oneOeight, 13.02.2005
Die Seite wird geladen...
Ähnliche Themen - DocumentRoot Problem
  1. simusch
    Antworten:
    2
    Aufrufe:
    188
    simusch
    04.05.2017
  2. melesch
    Antworten:
    3
    Aufrufe:
    977
    falkgottschalk
    19.05.2014
  3. flohaase
    Antworten:
    2
    Aufrufe:
    967
    flohaase
    26.09.2013
  4. kraftwerk
    Antworten:
    9
    Aufrufe:
    1.722