Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt Laravel den Fehler „file_put_contents(): failed to open stream: Permission denied' aus?

Warum gibt Laravel den Fehler „file_put_contents(): failed to open stream: Permission denied' aus?

Linda Hamilton
Freigeben: 2024-11-05 02:46:01
Original
825 Leute haben es durchsucht

Why Does Laravel Throw a

Probleme mit Dateiberechtigungen in Laravel: „file_put_contents() Failed to Open Stream“

Es ist der Fehler „file_put_contents(): failed to open stream: Permission denied“ aufgetreten Laravel kann frustrierend sein. Dieses Problem tritt auf, wenn Laravel aufgrund unzureichender Dateiberechtigungen nicht in bestimmte Dateien oder Verzeichnisse schreiben kann.

Das Speicherverzeichnis, in dem Laravel Protokolle, Cache und andere wichtige Daten speichert, verursacht diesen Fehler häufig. Um das Problem zu lösen, untersuchen wir verschiedene Lösungen.

Das Problem lösen

Laut vsmoraes kann die folgende Befehlsfolge die berechtigungsbezogenen Probleme beheben:

Für Laravel >= 5,4:

<code class="sh">php artisan cache:clear
chmod -R 775 storage/
composer dump-autoload</code>
Nach dem Login kopieren

Für Laravel < 5.4:

<code class="sh">php artisan cache:clear
chmod -R 775 app/storage
composer dump-autoload</code>
Nach dem Login kopieren

Diese Befehle führen die folgenden Aufgaben aus:

  1. Leeren Sie den Anwendungscache, um beschädigte oder veraltete zwischengespeicherte Dateien zu entfernen.
  2. Änderung Setzen Sie die Berechtigungen des Speicherverzeichnisses auf 775, sodass der Webserver darauf schreiben kann.
  3. Führen Sie Composer aus, um den Autoloader zu aktualisieren und die Änderungen in den Dateiberechtigungen widerzuspiegeln.

Sobald Sie dies getan haben Wenn Sie diese Befehle ausgeführt haben, sollte der Fehler „file_put_contents(): Fehler beim Öffnen des Streams: Berechtigung verweigert“ nicht mehr auftreten. Wenn weiterhin Probleme auftreten, überprüfen Sie die Dateiberechtigungen bestimmter Dateien im Speicherverzeichnis, z. B. der in Ihrer Frage erwähnten Datei „meta/services.json“. Stellen Sie sicher, dass die Dateien über die entsprechenden Berechtigungen verfügen (z. B. 644), damit die Laravel-Anwendung sie lesen und schreiben kann.

Das obige ist der detaillierte Inhalt vonWarum gibt Laravel den Fehler „file_put_contents(): failed to open stream: Permission denied' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage