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.

1voto

AamirR Punkte 10468

In meinem Fall fehlte die Gruppe _www, die von Apache verwendet wird, in der Zugriffsliste des Ordners, daher musste ich zuerst die fehlende Gruppe hinzufügen, wie folgt:

sudo chown -R _www ~/pfad-zum-ordner

Ändern Sie _www in den Benutzer oder die Gruppe, unter der Apache läuft.

Erfahren Sie den Benutzer/die Gruppe von Apache mit apachectl -S

Die Ausgabe ist umfangreich, aber schauen Sie ganz am Ende nach etwas wie:

Benutzer: name="_www"
Gruppe: name="_www"

1voto

kirenpillay Punkte 309

In Fedora 25 stellte sich heraus, dass es sich um ein SE Linux-Problem handelte, und die Benachrichtigung gab diese Lösung, die für mich funktioniert hat.

setsebool -P httpd_read_user_content 1

1voto

thelightings Punkte 63

Nur als Zitat für die obige Antwort von Benutzer1992554 Dies hat bei mir unter Linux Mint perfekt funktioniert, um die Warnung loszuwerden: Dateistream konnte nicht geöffnet werden: Berechtigung verweigert

cd /var/www
sudo chown www-data:www-data * -R
sudo usermod -a -G www-data Benutzername

0voto

Pavel Jiri Strnad Punkte 186

Außer den Berechtigungen kann das Problem open_basedir sein. Wenn Sie es verwenden (und ich empfehle es zu verwenden), überprüfen Sie die Einstellungen im VirtualHost:

 php_admin_value open_basedir

0voto

denis Punkte 140

Geh zum Ordner htdocs

cd htdocs

Ausführen

chmod -R 755 sites

Kein sudo nötig!

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