72 Stimmen

PHP Warnung: Unbekannt: konnte die Datenstruktur nicht öffnen

Ich habe kürzlich die Apache httpd.conf Datei bearbeitet, damit mod_rewrite funktioniert. Ich weiß nicht, ob dieses Problem daher stammt oder nicht, aber seitdem habe ich dieses Problem.
Das ist, was ich auf der Benutzeroberfläche sehe, wenn ich die Software ausführe -

Serverfehler Die Website hat einen Fehler bei der Wiedergabe von http://localhost/prestashop/ festgestellt. Es könnte für Wartungszwecke down sein oder falsch konfiguriert sein.

Es gibt keine spezifische Datei, die dieses Problem auslöst. Aber ich habe festgestellt, dass normalerweise kleine Programme mit 4-5 PHP-Dateien gut laufen, größere Software mit vielen Dateien (wie PrestaShop) jedoch nicht.
Ich habe die Logs überprüft und das ist, was ich gefunden habe.

[Wed Mar 16 19:33:39 2011] [error] [client ::1] PHP Warnung:  Unbekannt: failed to open stream: Permission denied in Unbekannt on line 0
[Wed Mar 16 19:33:39 2011] [error] [client ::1] PHP Fataler Fehler:  Unbekannt: Failed opening required '/var/www/html/yomig/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unbekannt on line 0
[Wed Mar 16 19:33:39 2011] [error] [client ::1] Datei existiert nicht: /var/www/html/favicon.ico
[Wed Mar 16 19:33:41 2011] [error] [client ::1] PHP Warnung:  Unbekannt: failed to open stream: Permission denied in Unbekannt on line 0
[Wed Mar 16 19:33:41 2011] [error] [client ::1] PHP Fataler Fehler:  Unbekannt: Failed opening required '/var/www/html/yomig/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unbekannt on line 0

0 Stimmen

Ist dein Website-Root: /var/www/html/yomig/ oder /var/www/html/? Es scheint, dass du das Web-Root mit deinen Konfigurationsänderungen gebrochen hast. Welche includes spezifizierst du in index.php? Verwenden sie einen relativen Pfad oder einen absoluten Pfad?

0 Stimmen

Mein Website-Stammverzeichnis ist /var/www/html/yomig. Und keine Datei ist in index.php eingeschlossen.

0 Stimmen

@AbiusX bitte etwas ausführlicher erklären.

155voto

John Magnolia Punkte 16486

Ich habe den gleichen Fehler erlebt, bei mir wurde er verursacht, weil ich auf meinem Mac das DocumentRoot auf mein Benutzer-Sites-Verzeichnis geändert habe.

Um das zu beheben, habe ich den rekursiven Befehl ausgeführt, um sicherzustellen, dass der Apache-Dienst Leseberechtigungen hat.

sudo chmod -R 755 ~/Sites

35voto

jamie Punkte 550

Wenn Sie Fedora verwenden, stellen Sie sicher, dass SELinux nicht stört. Sie können dies mit diesem Befehl beheben:

    sudo /sbin/restorecon -R /var/www/

Weitere Informationen hier: linuxquestions.org/questions/linux-server-73/

11voto

Mullins Punkte 2214

Ich hatte den gleichen Fehler und mein Problem war, dass die Dateiberechtigungen falsch waren.

chmod 755 index.php

hat bei mir funktioniert.

6voto

Hier ist eine Anleitung, wie du es reparieren kannst. Gehe zu :

cd /var/www

sudo chown www-data:www-data * -R

sudo usermod -a -G www-data Benutzername

Ersetze "Benutzername" mit deinem Benutzernamen. Ich hoffe, es hilft.

6voto

carlwang Punkte 61

Es handelt sich um ein SELinux-Blockierungsproblem, bei dem Linux den Zugriff von httpd verhindert hat. Hier ist die Lösung

# restorecon '/var/www/html/wiki/index.php'
# restorecon -R '/var/www/html/wiki/index.php'
# /sbin/restorecon '/var/www/html/wiki/index.php'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X