Ich habe kürzlich die Apache-Datei httpd.conf bearbeitet, damit mod_rewrite funktioniert. Ich weiß nicht, ob dieses Problem darauf zurückzuführen ist oder nicht, aber ich bekomme dieses Problem von diesem Tag an.
Das sehe ich im Frontend, wenn ich die Software starte -
Serverfehler Die Website hat beim Abrufen von http: // localhost / prestashop / einen Fehler festgestellt . Möglicherweise ist es wegen Wartungsarbeiten nicht verfügbar oder falsch konfiguriert.
Es gibt keine bestimmte Datei, die dies auslöst. Aber ich habe gesehen, dass normalerweise kleine Programme, die aus 4-5 PHP-Dateien bestehen, gut laufen, Software mit vielen Dateien (wie PrestaShop) jedoch nicht.
Ich habe die Protokolle überprüft und das habe ich gefunden.
[Wed Mar 16 19:33:39 2011] [error] [client ::1] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
[Wed Mar 16 19:33:39 2011] [error] [client ::1] PHP Fatal error: Unknown: Failed opening required '/var/www/html/yomig/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0
[Wed Mar 16 19:33:39 2011] [error] [client ::1] File does not exist: /var/www/html/favicon.ico
[Wed Mar 16 19:33:41 2011] [error] [client ::1] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
[Wed Mar 16 19:33:41 2011] [error] [client ::1] PHP Fatal error: Unknown: Failed opening required '/var/www/html/yomig/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0
/var/www/html/yomig
.. Und keine Datei ist in index.php enthalten.Antworten:
Der gleiche Fehler ist bei mir aufgetreten, weil ich auf meinem Mac den DocumentRoot in das Site-Verzeichnis meiner Benutzer geändert habe.
Um dies zu beheben, habe ich den rekursiven Befehl ausgeführt, um sicherzustellen, dass der Apache-Dienst über Leseberechtigungen verfügt.
sudo chmod -R 755 ~/Sites
quelle
755
ist völlig übertrieben und wohl unsicher: Sie möchten nicht, dass jedes Verzeichnis weltweit lesbar ist, und es ist übertrieben, jeder Datei Ausführungsberechtigungen zu erteilen. In Bezug auf Ihre genaue Fehlermeldung haben Sie nur benötigtchmod 644 /var/www/html/yomig/index.php
. Siehe Antwort von @Dexter für richtige / sichere rekursive Befehle: stackoverflow.com/a/26918548Wenn Sie Fedora ausführen, stellen Sie sicher, dass SELinux nicht stört. Sie beheben dies mit diesem Befehl:
sudo /sbin/restorecon -R /var/www/.
Weitere Infos hier: linuxquestions.org/questions/linux-server-73/
quelle
sudo /sbin/restorecon -R /var/www/
. Weitere Infos hier: linuxquestions.org/questions/linux-server-73/…Ich hatte den gleichen Fehler und mein Problem war, dass die Dateiberechtigungen falsch waren.
chmod 755 index.php
arbeitete für mich.
quelle
Hier einige Anleitungen zur Behebung. Gehe zu :
cd /var/www sudo chown www-data:www-data * -R sudo usermod -a -G www-data username
Ändern Sie das Benutzername mit Ihrem Benutzernamen. Ich hoffe es hilft.
quelle
Ich habe dieses Problem beim Einfügen einer falschen Dateiadresse
.htaccess
php_value auto_prepend_file "/home/user/wrong/address/config.php"
Wenn Sie also auto_prepend_file verwenden, überprüfen Sie Ihren Dateipfad. Es wurde von
.htaccess
PHP aufgerufen, sodass Fehlerdatei und Zeile nicht ermittelt werden können.quelle
In meinen Augen ist der wahre Weg:
# add READ permission to all directories and files under your DocumentRoot sudo chmod +r /path/to/DocumentRoot/ -R # add EXECUTE permission to all DIRECTORIES under your DocumentRoot find /path/to/DocumentRoot/ -type d -exec chmod +x {} \;
quelle
www-data
nicht auch einige Rechte erhalten? Ich würdechmod g+r /path/ -R
&&chown $USER:www-data /path/ -R
+X
(Großbuchstaben X) ist eine bessere Möglichkeit, nur Verzeichnisse zu beeinflussen. Es ist jedoch möglicherweise nicht in allen Geschmacksrichtungen erhältlichchmod
. Sosudo chmod +rX /path/to/DocumentRoot/ -R
könnte im Wesentlichen tun, abhängig von Ihremchmod
.Es handelt sich um ein SELinux-Blockierungsproblem. Linux hat den httpd-Zugriff verhindert. 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'
quelle
Ich bin gerade auf dasselbe Problem gestoßen und in meinem Fall wurde es durch Selinux verursacht. Durch Deaktivieren wurde das Problem behoben. Und nein, ich brauche kein Selinux auf meiner Workstation, danke.
quelle
Es ist mir heute mit /home/user/public_html/index.php passiert und die Lösung bestand darin,
chmod o+x /home/user
dieses Verzeichnis mit dem X zu versehen, da der Apache-Server sonst keine Dateien auflisten kann (dh tunls
)quelle
x
bietet Durchquerungsberechtigung.r
bietetx
Dies geschieht auch (und ist besonders verwirrend), wenn Sie vergessen haben, dass Sie einen Windows-Symlink zu einem anderen Verzeichnis erstellt haben und dieses andere Verzeichnis nicht über die entsprechenden Berechtigungen verfügt.
quelle
Zitieren Sie einfach die obige Antwort von user1992554. Diese hat in Linux Mint perfekt für mich funktioniert, um die Warnung loszuwerden. Warnung: Stream konnte nicht geöffnet werden: Berechtigung verweigert
cd / var / www
sudo chown www-data: www-data * -R
sudo usermod -a -G www-data Benutzername
quelle
In Fedora 25 stellte sich heraus, dass es sich um ein SE Linux-Problem handelte, und die Benachrichtigung gab diese Lösung an, die für mich funktionierte.
setsebool -P httpd_read_user_content 1
quelle
In meinem Fall
_www
fehlte die von Apache verwendete Gruppe in der Zugriffsliste des Ordners, daher musste ich zuerst die fehlende Gruppe wie folgt hinzufügen:Wechseln Sie
_www
zu dem Benutzer oder der Gruppe, unter der Apache ausgeführt wird.Finden Sie den Benutzer / die Gruppe von Apache mit heraus
apachectl -S
Die Ausgabe ist riesig, aber sehen Sie sich am Ende so etwas an wie:
User: name="_www" Group: name="_www"
quelle
Dies ist keine direkte Antwort auf die Frage, aber ich hatte das gleiche Problem. Ich habe VSFTPD auf meinem Ubuntu Server VPS installiert. Ich konnte Dateien hochladen, aber jede Datei, die ich hochgeladen habe, hatte keine Ausführungsberechtigungen (alle Dateien hatten die Rechte "600"). In diesen Beiträgen wird genau erklärt, was Sie tun müssen, um Ihr VSFTPD so zu konfigurieren, dass Standardrechte für Ihre Dateien festgelegt werden:
quelle
Einmal passiert mir das auch. und als ich die Angelegenheit gegoogelt habe, habe ich erfahren, dass dies passiert, wenn die Berechtigungen für die Datei fälschlicherweise auf 000 gesetzt sind (was bedeutet, dass niemand diese Datei lesen, schreiben oder ausführen kann). Dann habe ich einfach meine Dateiberechtigungsberechtigung in Lesen & Schreiben geändert und es hat für mich funktioniert.
So ändern Sie die Dateiberechtigungseinstellungen auf dem Mac: Klicken Sie mit der rechten Maustaste auf die jeweilige Datei und klicken Sie auf Informationen aus dem Dropdown-Menü abrufen. Rufen Sie das Freigabe- und Berechtigungsfenster auf und ändern Sie die Berechtigungseinstellungen in Lesen und Schreiben
Mehr: http://www.itoctopus.com/warning-unknown-failed-to-open-stream-permission-denied-in-unknown-on-line-0-error-in-joomla
quelle
Überprüfen Sie das DOS- und Unix-Dateiformat. Dieses Problem tritt auf Linux-Plattformen auf, wenn das dos-Dateiformat verwendet wird. Verwenden Sie den Befehl doc2unix wie unten beschrieben und wiederholen Sie den Vorgang, damit dos2unix * .php funktioniert
Diese Lösung für das folgende Problem
Wed Nov 12 07:50:19 2014] [error] [client IP1] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0 [Wed Nov 12 07:50:19 2014] [error] [client IP1] PHP Fatal error: Unknown: Failed opening required '/var/www/html/index.php' (include_path='.:/usr/share/pear: /usr/share/php') in Unknown on line 0
quelle
Gehen Sie zum Ordner htdocs
Ausführen
Kein Sudo nötig!
quelle
Mit Ausnahme der Berechtigungen kann das Problem open_basedir sein. Wenn Sie es verwenden (und ich schlage vor, es zu verwenden), überprüfen Sie die Einstellungen am VirtualHost:
quelle