Website lässt sich über localhost nicht aufrufen

S

Shrike

Aktives Mitglied
Thread Starter
Dabei seit
09.05.2008
Beiträge
1.143
Reaktionspunkte
25
Hallo,

ich habe eine Website übernommen und werde diese erstmal über XAMPP lokal
neu designen. Nun ist folgendes Problem: Habe die komplette Website in den
htdocs-Ordner von XAMPP gestellt und bekomme bei Eingabe der
localhost URL immer folgende Meldung: Siehe PNG
Nun habe ich schon in der config.php des include-Ordners meiner übernommenen Website, da ja wohl da irgendwie das Problem liegt, die
http://www.bla bla bla URL in http://localhost/bla bla geändert...
Trotzdem gleiche Meldung, hat sich nichts geändert - woran kanns noch liegen?
 
Zuletzt bearbeitet:
steh doch da, php findet die datei nicht...
ist die da?
 
Ich würde an Deiner stelle mal eine relative anstatt einer absluten Pfadangabe nehmen, das macht das Projekt auf jeden Fall portabler und die Pfade werden kürzer.
 
in dem fall liegen halt die php dateien falsch...
der sucht das includes/config.php ja ein verzeichnis über dem verzeichnis der webseite bzw im root des servers...
 
Was ist zu tun, bitte etwas genauer beschreiben - bin noch Anfänger in diesem Bereich
und noch nicht so routiniert...
 
Was oneOeight meint:

Innerhalb deines "htdocs"-Ordners liegt ja noch ein Ordner, in dem die Datei "index.php" liegt. In diesen würde auch der Ordner "includes" reingehören.
 
Das ist ja der Fall, den brauche ich nicht reinpacken. Wie gesagt ich hatte den gesamten Website Ordner bekommen und ihn unter XAMPP in htdocs gepackt. Das ist die index.php und der includes-Ordner drin.
 
Du hast aber in den Screenshot eine Ordnerangabe "ausgegraut". Das sieht mir doch danach aus, wie wenn die index.php eins tiefer liegen würde als der Include-Ordner. Normalerweise sollte sie neben dem Ordner liegen.
 
Tut sie...

Noch eine Frage: Warum gibt es in xamppfiles den htdocs Ordner nochmal?
 
weil das der webroot ist...

guck doch mal in das index.php file rein, ist wohl ein ein pfad mit "../includes" angegeben dort...
 
Si...in Zeile 11, darauf bezieht sich ja auch die obige Fehlermeldung!

So sieht's aus:
 
Eben – im PHP-Code bindest du die Datei "/inludes/config.php" ein, also im Root-Ordner des Webservers, und das ist der htdocs-Ordner. Am "originalen" Webserver mag dies funktionieren, weil der includes-Ordner im Root liegt, bei dir ist dies aber nicht der Fall.

Du hast zwei Möglichkeiten: Entweder, du änderst ALLE Pfadangaben in den PHP-Files von absolut auf relativ (also nicht "/includes/...", sondern "includes/..."), was das ganze Projekt portabel machen würde. Oder – wenn das zu aufwändig wäre – du kopierst den Website-Ordner nicht in einen Unterordner, sondern direkt nach htdocs, wodurch absolute Pfadangaben wieder funktionieren. Ich würde dir aber sehr zu relativen Angaben raten.
 
Also, entweder verstehe ich dich nicht oder ich drücke mich nicht klar genug aus.
Der Website-Ordner ist in htdocs, in diesem Website-Ordner in htdocs ist natürlich die index.php und daneben liegt der include-Ordner.
Ich habe auch schon in Dreamweaver eine Site angelegt, mit Testserver etc. etc.
Ist auch alles ok soweit.
Wenn ich jetzt entweder in Dreamweaver die index.php auf meinem Safari Browser öffnen will oder ich gebe localhost/bla bla bla/.index.php direkt in der Adresszeile ein,
ist ja wurscht, dann kommt obige Fehlermeldun, die ja, soweit ich das verstanden habe, sich auf die config.php im include-Ordner und irgendwie auf Zeile 11 in der index.php bezieht. Hier muß was nicht stimmen...
 
Eben! Schau Dir mal den Screenshot deiner Fehlermeldung nochmals genau an.

Deine index.php liegt in htdocs/blabla/index.php.

Du sagst nun, dass Dein includes-Ordner direkt neben der index.php liegt. Das wäre dann htdocs/blabla/includes/config.php.

Laut Fehlermeldung wird aber in htdocs/includes/config.php gesucht.
 
Richtig – und was nicht stimmt, habe ich dir soeben gesagt! ;)

Der htdocs-Ordner ist aus Sicht des Webservers der Root-Ordner, also "/". Wenn im htdocs-Ordner eine index.php liegt, sprichst du sie mit "/index.php" an. Alle Angaben, die mit einem "/" beginnen, sind absolute Pfadangaben und gehen vom Rootverzeichnis aus.

Offensichtlich ist die Webseite an ihrem ursprünglichen Ort im Rootverzeichnis des Servers gewesen. Somit kann die "/index.php" problemlos auf "/includes/..." zugreifen, weil ja der includes-Ordner im Rootverzeichnis liegt.

Du hast die Webseite aber nicht in das Rootverzeichnis deines Servers (also direkt in htdocs) kopiert, sondern in einen Unterordner, nennen wir ihn "/webseite". Jetzt versucht aber die Datei "/webseite/index.php" auf "/includes/..." zuzugreifen. Klar findet der die Dateien nicht – die liegen ja bei dir nicht in "/includes", sondern in "/webseite/includes".

Wenn du deine absoluten Pfadangaben durch relative auswechselst, brauchst du dich nicht darum zu kümmern, ob die Webseite nun im Rootverzeichnis oder in einem Unterverzeichnis liegt. Lass ihn einfach statt "/includes" auf "includes" zugreifen. Aus Sicht deiner Datei "/webseite/index.php" würde das dann auf den richtigen Pfad "/webseite/includes" verweisen.

Mehr dazu findest du z.B. hier.
 
Zuletzt bearbeitet von einem Moderator:
das $DOCROOT. müsste auch noch weg, wenn er das / wegmacht...

oder du änderst halt das DocumentRoot in der apache config...
 
Super, das hat schonmal gefunzt. Ist nur noch nicht alles drauf auf der Seite.
Muß ich jetzt für alle phps machen? Das $DOCROOT habe ich auch gelöscht, vorher ging's nicht...
Hier die index.php
 
Die index.php ist nicht vollständig, da fehlt die Hälfte?
Was heißt das jetzt wieder:
Wenn ich auf der Website bin und fahre über das Rollover kommt diese Meldung:
Ist das immer so'n Krampf?
 
die Datei lädt die includes/dbconnect.php nach und kann sie nicht finden! Weder in einem lokalen Order includes inhtdocs, noch im Standard-Includepfad!

Das ist kein Krampf sondern schlicht ein offenbar unvollständige Projektkopie :)
 
Zurück
Oben Unten