Unterschied zwischen Domain und Localhost?

Slizzzer

Erfahrenes Mitglied
Hi Forum!

Ich komm nicht weiter! Ich habe einige Dateiteile, die ich über include in eine andere Datei einbinde.
Um auf meinem Localhost und im Web nicht immer alle Links anpassen zu müssen, habe ich eine Variable $sitehost. Auf meinem Localhost ist diese gefüllt mit
http://localhost
und auf dem Webserver mit
http://www.MEINEDOMAIN.de
Somit erhalte ich immer den Absoluten Pfad. Lokal funktioniert alles wunderbar, auf dem Webserver nicht!
Im Quelltext der dargestellten Seiten, sind die Links richtig dargestellt.
Benutze ich die Variable $sitehost wie z.B.
<a href='<? echo $sitehost; ?>/verszeichnis/datei.htm'>Link</a>
im HTML-Code, funktionierts. Bei den Includes nicht.
Woran kann das liegen?
Ich erhalte trotz eingeschalteter Fehlerberichterstattung auch keine Fehlermeldung. Die includierten Dateien fehlen einfach.
 
Wenn weitere PHP-Skriptdateien eingebunden werden sollen, müssen die Pfadangaben allein über das lokale Dateisystem des Webservers laufen. Stehen dort HTTP-URLs (also mit „http://“ beginnend), werden die Daten auch über das HTTP angefordert, was bei PHP-Skripten wiederum nur die Ausgabe der Skripte ist.
Am besten arbeitest du mit zwei Variablen: einer mit dem absoluten Pfad zur Anwendung für die serverinterne Pfadangaben und einer mit der absoluten HTTP-URL zur Anwendung für HTML-Ausgaben.
 
Hallo Gumbo!
Danke für Deine Antwort!
Ich habe jetzt mal versucht den absoluten Pfad zu nehmen, soweit er mir bekannt ist.
Und habe damit auch experimentiert. Nur funktioniert hat es irgendwie nicht.

Der Pfad war dann in etwa so:

servername.de/is/htdocs/KUNDENNUMMER/www.DOMAIN.de

Wie könnte dann ein Include aussehen?

Gruß
Ralf
 
Hallo Slizzzer,

für was benötigst du denn eigentlich den absoluten Pfad?

Ich brauchte den bisher für keine meiner Seiten, die ich selbst programmiert habe.

Gruß Matze202.
 
Slizzzer hat gesagt.:
servername.de/is/htdocs/KUNDENNUMMER/www.DOMAIN.de

Ist definitiv nicht der absolute Pfad.

Benutze mal [phpf]php_info[/phpf] und schaue unter DOCUMENT_ROOT bzw. SCRIPT_FILENAME.

Dort wird mir der absolute Pfad angezeigt (unter Windows und Linux).


Matze202 hat gesagt.:
Hallo Slizzzer,

für was benötigst du denn eigentlich den absoluten Pfad?

Ich brauchte den bisher für keine meiner Seiten, die ich selbst programmiert habe.

Gruß Matze202.
Ich brauchte ihn z. B. als ich auf ein Verzeichnis zugreifen musste, das außerhalb meines Webserververzeichnis lag.
 
Ich brauchte ihn z. B. als ich auf ein Verzeichnis zugreifen musste, das außerhalb meines Webserververzeichnis lag.

Ich bewege mich für solche dinge immer mit ./../ durch die Ordnerstrukturen des Servers. ;)

Sollte ein Ordner außerhalb des Rootordners der Domain liegen und ich brauche etwas daraus, wenn ich z.B. die Seite http://www.diedomain.de/index.php aufrufe, so füge ich die Datei wie folgt ein.

PHP:
    include('./../ordner/datei.php');

Also zur Erklärung, mit dem ./ befindest du dich ja in dem Ordner der index.php und mit ../ verlässt du diesen, in den übergeordneten.

Somit brauch ich nicht erst den absoluten Pfad. ;)

Gruß Matze202.
 
Also ich include lieber:
PHP:
$file = "/var/libs/smarty";

als

PHP:
$file = "./../../../../../libs/smarty";
# Skriptordner -> Subdomain -> Domain -> User -> www -> /var/

Pfade sind real, ist allerdings nur ein Beispiel ;)
 
Hallo und vielen Dank für die Antworten!

Ja das Problem ist, das die ganzen Teile der Anwendung ziemlich verschachtelt sind.
Da die Dateien in unterschiedlichen Verzeichnisebenen befinden können, komme ich mit ../ nicht weiter.
Der Absolute Pfad stimmt dagegen immer, egal aus welche abgründigen Verzeichnistiefe ich etwas aufrufen will.

Ich fummel mal weiter, werd es schon irgendwie gebacken kriegen. ;o)
 
Also ich include lieber:
PHP:
$file = "/var/libs/smarty";

als

PHP:
$file = "./../../../../../libs/smarty";
# Skriptordner -> Subdomain -> Domain -> User -> www -> /var/

Pfade sind real, ist allerdings nur ein Beispiel ;)

Ich fummel mal weiter, werd es schon irgendwie gebacken kriegen. ;o)

Naja aus diesem Grund baue ich Internetseiten nur noch in 1, 2 oder max 3 Verzeichnisebenen auf, da brauch ich nicht rum fummeln, und verlier auch nicht so schnell den überblick ;)

Gruß Matze202.
 
Das ist mein Verzeichnisbaum auf einem Linuxserver.
Da will ich nicht viel dran rumschrauben ;)

Und für jede Seite Smarty separat einzubinden mag ich auch nicht.

/var/www/[Benutzer]/[Domain]/[Subdomain]/htdocs

Ist der Pfad letzendlich. Und da ich mehrere Benutzer und Domains habe und diese auch mit Linux Accounts geschaltet sind, ist das halt so ;)
 
Zurück