Ich habe die Apache-Datei httpd.conf kürzlich bearbeitet, damit mod_rewrite funktioniert. Ich weiß nicht, ob dieses Problem hiervon herrührt oder nicht, aber ich bekomme dieses Problem von diesem Tag an.
Das sehe ich am Frontend, wenn ich die Software starte -
Serverfehler Die Website ist auf .__ gestoßen. ein Fehler beim Abrufen von http: // localhost/prestashop/ . Es kann zur Wartung heruntergefahren oder konfiguriert sein falsch.
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, aber Software mit vielen Dateien (wie PrestaShop) nicht.
Ich habe die Protokolle geprü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
Der gleiche Fehler ist aufgetreten. Für mich wurde der Fehler verursacht, weil ich auf meinem Mac das DocumentRoot-Verzeichnis in das Verzeichnis der Benutzer meiner Benutzer geändert habe.
Um das Problem zu beheben, habe ich den rekursiven Befehl ausgeführt, um sicherzustellen, dass der Apache-Dienst über Leseberechtigungen verfügt.
Sudo chmod -R 755 ~/Sites
Wenn Sie Fedora ausführen, stellen Sie sicher, dass SELinux nicht stört. Sie können dies mit diesem Befehl beheben:
Sudo /sbin/restorecon -R /var/www/.
Mehr 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.
In meinen Augen ist wahrer 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 {} \;
Ich habe dieses Problem erhalten, wenn Sie eine falsche Dateiadresse in .htaccess
einfügen.
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
aufgerufen, sodass PHP Fehlerdatei und -zeile nicht ermitteln kann.
Hier einige Anleitungen, wie Sie das Problem beheben können. Gehe zu :
cd /var/www
Sudo chown www-data:www-data * -R
Sudo usermod -a -G www-data username
Ändern Sie userneme mit Ihrem Benutzernamen. Ich hoffe es hilft.
Es passierte mir heute mit /home/user/public_html/index.php und die Lösung bestand darin, chmod o+x /home/user
zu tun, da dieses Verzeichnis das X enthalten muss, da der Apache-Server sonst keine Dateien auflisten kann (d. H. ls
)
Es ist ein SELinux-Blockierungsproblem. Linux verhindert den Zugriff auf httpd. 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'
In meinem Fall fehlte die Gruppe _www
, die Apache verwendet, in der Zugriffsliste des Ordners. Daher musste ich zuerst die fehlende Gruppe hinzufügen:
Sudo chown -R _www ~/path-to-folder
Ändern Sie _www
in den Benutzer oder die Gruppe, unter der Apache ausgeführt wird.
Finden Sie den Benutzer/die Gruppe von Apache mit apachectl -S
heraus.
Die Ausgabe ist riesig, aber am Ende sieht es so aus:
User: name="_www"
Group: name="_www"
Ich bin gerade auf dieses Problem gestoßen und in meinem Fall wurde es von Selinux verursacht. Durch Deaktivieren wurde das Problem behoben. Und nein, ich brauche Selinux auf meiner Workstation nicht, danke.
Zitieren Sie einfach für die obige Antwort von user1992554 Diese funktionierte perfekt für mich in Linux Mint, um Warning loszuwerden
cd/var/www
Sudo chown www-data: www-data * -R
Sudo usermod -a -G www-data Benutzername
In Fedora 25 stellte sich heraus, dass es sich um ein SE-Linux-Problem handelte, und die Benachrichtigung ergab diese Lösung, die für mich funktionierte.
setsebool -P httpd_read_user_content 1
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 hochgeladene Datei hatte keine Ausführungsberechtigung (alle Dateien hatten die Rechte "600"). In diesen Beiträgen wird erklärt, was genau Sie tun müssen, um Ihre VSFTPD so zu konfigurieren, dass Standardrechte für Ihre Dateien festgelegt werden:
Dies geschieht auch (und ist besonders verwirrend), wenn Sie vergessen haben, dass Sie einen Windows-Symlink zu einem anderen Verzeichnis erstellt haben und das andere Verzeichnis nicht über die entsprechenden Berechtigungen verfügt.
Überprüfen Sie das DOS- und Unix-Dateiformat. Dieses Problem tritt auf Linux-Plattformen auf, wenn das DOS-Dateiformat verwendet wird. Verwenden Sie den doc2unix-Befehl wie folgt und versuchen Sie es erneut Dos2unix * .php
Diese Lösung für das untenstehende 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
Einmal passiert mir das auch. Und als ich die Angelegenheit gegoogelt habe, wurde mir klar, dass dies der Fall ist, wenn die Berechtigungen für die Datei fälschlicherweise auf 000 festgelegt sind (was bedeutet, dass niemand diese Datei lesen, schreiben oder ausführen kann). Dann habe ich gerade mein Dateiberechtigungsrecht in Read & Write 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 betreffende Datei und klicken Sie auf Informationen aus dem Dropdown-Menü. Wechseln Sie zum Bereich Freigabe und Berechtigungen, und ändern Sie die Berechtigungseinstellungen in Lesen und Schreiben
Wechseln Sie in den Ordner htdocs
cd htdocs
Execute
chmod -R 755 Websites
Keine Notwendigkeit für Sudo!
Mit Ausnahme der 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 <YOUR ROOT>