Zu diesem Problem gibt es zahlreiche Fragen und Antworten:
"storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
Die richtige Lösung besteht darin, die richtigen Berechtigungen für Rechteinhaber und Gruppen festzulegen. Also habe ich Folgendes getan:
nginx
Die Ausgabe der Nginx-Gruppe nginx -V
lautet:
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: ... --user=nginx --group=nginx ...
Die Gruppe „Meine Dateien und Verzeichnisse“ ist eingestellt auf nginx
:
sudo chown -R $USER:nginx /path/to/project
Ich habe 755 für Verzeichnisse und 644 für Dateien eingestellt:
sudo find /path/to/project -type f -exec chmod 664 {} \;
sudo find /path/to/project -type d -exec chmod 775 {} \;
Dann setze ich 775 für storage
:
sudo chmod -R 775 storage
Daher bestätige ich, dass die storage/logs/laravel.log
Berechtigungen 775
oder sind -rwxrwxr-x
.
Aber ich erhalte immer noch die Fehlermeldung „Zugriff verweigert“ für diese Datei. Ich habe nginx
auch erfolglos versucht, den Besitzer zu ändern, und ich habe die Datei auch selinux
komplett deaktiviert.
Irgendwelche Vorschläge?
(Oder hätte ich es stattdessen auf stackoverflow.com posten sollen?)
Antwort1
Ich behebe meins mit dieser Zeile:
chown -R www-data:www-data storage
Hoffe hilft