XAMPP für Linux: Fehlermeldungen bei allen PHP-Dateien
Matthias Maier
- webserver
Hi.
Wie im Thema schon erwähnt, habe ich auf meinem Linux-System XAMPP für Linux (kurz LAMPP) laufen.
HTML-Dateien werden richtig ausgeführt, doch PHP-Dateien haben immer folgende Fehlermeldungen:
[quote]
Warning: Unknown: failed to open stream: Keine Berechtigung in Unknown on line 0
Warning: Unknown: Failed opening '...' for inclusion (include_path='.:/opt/lampp/lib/php') in Unknown on line 0
[/quote]
Ich muss, denke ich, entweder etwas in der php.ini ändern, oder in der httpd.conf ändern.
Was muss ich wo genau ändern? Bisher ist nur der DocumentRoot in der httpd.conf geändert worden, sonst ist der Rest im Originalzustand.
Danke
Matze
hallo,
Wie im Thema schon erwähnt, habe ich auf meinem Linux-System XAMPP für Linux (kurz LAMPP) laufen.
Wichtig wäre, wenn du angeben wolltest, welche Distribution du fährst.
Und dann: es ist mir unverständlich, warum du XAMPP extra ziehst und installierst. Alles, was du für einen Serverbetrieb brauchst, findest du auf den Installationsmedien (CDs oder DVD) deiner Distribution, einschließlich sehr ausführlicher Dokumentationen.
HTML-Dateien werden richtig ausgeführt
Nein. Die werden niemals "ausgeführt", aber sie werden dargestellt.
Ich muss, denke ich, entweder etwas in der php.ini ändern, oder in der httpd.conf ändern.
Wahrscheinlich beides. Zuerst solltest du aber in deinen logs nachschauen, da stehen die Fehlermeldungen noch etwas genauer, und vielleicht weißt du es dann bereits.
Bisher ist nur der DocumentRoot in der httpd.conf geändert worden, sonst ist der Rest im Originalzustand.
Und deinen Originalzustand kennst nur du. Der kann bei jedem anders aussehen, also müßtest du das schon angeben. Zeigt denn dein DocumentRoot irgendwie auf /opt/lampp/lib/php bzw. ein übergeordnetes Verzeichnis?
Grüße aus Berlin
Christoph S.
Hi
Wie im Thema schon erwähnt, habe ich auf meinem Linux-System XAMPP für Linux (kurz LAMPP) laufen.
Wichtig wäre, wenn du angeben wolltest, welche Distribution du fährst.
Das ist doch überhaupt nicht von Belang. Aber wenn es so wichtig ist: Es ist ein Debian-Abkömmling.
Und dann: es ist mir unverständlich, warum du XAMPP extra ziehst und installierst. Alles, was du für einen Serverbetrieb brauchst, findest du auf den Installationsmedien (CDs oder DVD) deiner Distribution, einschließlich sehr ausführlicher Dokumentationen.
XAMPP ist halt vollständig vorkonfiguriert. Da muss ich halt installieren - und fertig. Ich weiß, man kann sich auch den Apache, PHP etc selbst ziehen und eigenhändig konfigurieren. Aber darin bin ich wirklich noch nicht bewandert.
Ich muss, denke ich, entweder etwas in der php.ini ändern, oder in der httpd.conf ändern.
Wahrscheinlich beides. Zuerst solltest du aber in deinen logs nachschauen, da stehen die Fehlermeldungen noch etwas genauer, und vielleicht weißt du es dann bereits.
Aber da ist kein Eintrag, dass man auf einer PHP-Datei zugegriffen hat. Und trotzdem gibt der PHP-Interpreter eine Fehlermeldung aus. Bei einigen HTML-Dateien steht wenigstens, dass die Rechte zum Anzeigen nicht vorhanden sind, doch da ist keine Spur von PHP-Dateien...
Bisher ist nur der DocumentRoot in der httpd.conf geändert worden, sonst ist der Rest im Originalzustand.
Und deinen Originalzustand kennst nur du. Der kann bei jedem anders aussehen, also müßtest du das schon angeben. Zeigt denn dein DocumentRoot irgendwie auf /opt/lampp/lib/php bzw. ein übergeordnetes Verzeichnis?
Nein, er zeigt auf "/home/matthias/programmieren/html/webs" (Ich weiß, HTML programmiert man nicht, aber mir fiel kein Überbegriff für HTML/CSS/PHP, C/C++ und Java ein).
Danke
matze
Hi!
Wichtig wäre, wenn du angeben wolltest, welche Distribution du fährst.
Das ist doch überhaupt nicht von Belang. Aber wenn es so wichtig ist: Es ist ein Debian-Abkömmling.
Doch häufig ist dies von Belang, da sich die verschiedenen Distributionen oftmals sehr stark unterscheiden und für weitere, konstruktive Hilfe ist ein solcher Hinweis unabdinglich.
Und dann: es ist mir unverständlich, warum du XAMPP extra ziehst und installierst. Alles, was du für einen Serverbetrieb brauchst, findest du auf den Installationsmedien (CDs oder DVD) deiner Distribution, einschließlich sehr ausführlicher Dokumentationen.
XAMPP ist halt vollständig vorkonfiguriert. Da muss ich halt installieren - und fertig. Ich weiß, man kann sich auch den Apache, PHP etc selbst ziehen und eigenhändig konfigurieren. Aber darin bin ich wirklich noch nicht bewandert.
Das Problem dabei ist dann eben nur, dass man dadurch den Apache und alle anderen Pakete, die mit bei XAMPP mitgeliefert werden, auch nicht besser kennen lernt, da die Komponenten bereits alle vorkonfiguriert sind, sodass ein Blick in das Manual entfällt.
Dennoch denke ich, sollte man XAMPP nicht von Grund auf verteufeln - für den _allerersten_ Blick und Einstieg in die Materie ist er vielleicht ganz interessant.
Aber da ist kein Eintrag, dass man auf einer PHP-Datei zugegriffen hat. Und trotzdem gibt der PHP-Interpreter eine Fehlermeldung aus. Bei einigen HTML-Dateien steht wenigstens, dass die Rechte zum Anzeigen nicht vorhanden sind, doch da ist keine Spur von PHP-Dateien...
Zugriffe auf die sich im DocumentRoot befindlichen Dokumente werden vom Apache genauso mitprotokolliert wie ein Zugriff auf statische HTML-Dateien. Der Unterschied besteht nur eben darin, dass die aufgerufene Datei im Log die für PHP typische Endung .php aufweist:
192.168.0.21 - - [24/Jul/2005:13:59:18 +0200] "GET /admin/user-center.php5 HTTP/1.1" 200 2116
Obige Zeile ist ein Auszug aus meiner lokalen access_log des Apache. In der acccess_log werden alle Zugriffe auf Dateien im DocumentRoot mitprotokolliert. Wurde eine Ressource nicht gefunden, so siehst du das einerseits in der access_log an dem HTTP-Statuscode 404 und andererseits auch in der error_log an einer Meldung wie »File does not exist: ... «
Deine obige Fehlermeldung lässt sich im Übrigen auf ein Rechte-Problem zurückführen - dein Apache hat kein Recht, die PHP-Datei zu lesen und damit deren Inhalt an den PHP-Interpreter zu übergeben. Sorge demnach dafür, dass dein Apache dieses Recht bekommt, indem du die Dateiattribute dementsprechend mittels chmod änderst.
Grüße,
Fabian St.
hallo,
Zeigt denn dein DocumentRoot irgendwie auf /opt/lampp/lib/php bzw. ein übergeordnetes Verzeichnis?
Nein, er zeigt auf "/home/matthias/programmieren/html/webs"
Siehst du, damit kann dein Apache eben nicht auf /opt und darunterliegende Verzeichnisse und Dateien zugreifen. Am einfachsten löst du das vielleicht, indem du /opt/lampp/lib/php nach /home/matthias/programmieren/html/webs verlinkst
Grüße aus Berlin
Christoph S.