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.

4voto

Narek Punkte 3703

Ich habe dieses Problem, wenn ich die falsche Dateiadresse in .htaccess eintrage

php_value auto_prepend_file "/home/user/falsche/adresse/config.php"

Also, wenn du auto_prepend_file benutzt, überprüfe deinen Dateipfad. Es wird von .htaccess aufgerufen, sodass PHP die Fehlerdatei und Zeile nicht bestimmen kann.

4voto

Dexter Punkte 41

In meinem Kopf ist der wahre Weg:

# Fügen Sie das LESEBERECHTIGUNG für alle Verzeichnisse und Dateien unter Ihrem DocumentRoot hinzu
sudo chmod +r /Pfad/zum/DocumentRoot/ -R

# Fügen Sie das AUSFÜHREN-BERECHTIGUNG für alle VERZEICHNISSE unter Ihrem DocumentRoot hinzu
find /Pfad/zum/DocumentRoot/ -type d -exec chmod +x {} \;

4voto

Adrian Gunawan Punkte 13141

Ich bin gerade auf dasselbe Problem gestoßen und in meinem Fall wurde es durch selinux verursacht. Das Deaktivieren hat das Problem gelöst. Und nein, ich brauche selinux nicht auf meinem Arbeitsplatz, danke.

2voto

petka Punkte 29

Es ist mir heute mit /home/user/public_html/index.php passiert und die Lösung bestand darin, chmod o+x /home/user auszuführen, da dieses Verzeichnis das X haben muss, da sonst der Apache-Server keine Dateien auflisten kann (d.h. ls ausführen).

1voto

SimplGy Punkte 19473

Dies geschieht auch (und ist besonders verwirrend), wenn Sie vergessen haben, dass Sie einen Windows-Symbolischen Link zu einem anderen Verzeichnis erstellt haben und dieses andere Verzeichnis nicht über geeignete Berechtigungen verfügt.

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