Laravel -Ausnahme Der Stream oder die Datei konnte nicht geöffnet werden

Laravel -Ausnahme Der Stream oder die Datei konnte nicht geöffnet werden

Fehler:

Eine meiner Laravel -Anwendungen zeigte den folgenden Fehler, nachdem ich die Instanz neu gestartet habe. Die Fehlermeldung lautet:

Der Stream oder die Datei „/var/www/html/speichern/logs/laravel.log ”konnte nicht geöffnet werden: Der nicht geöffnete Stream: Erlaubnis abgelehnt

Lösung:

Diese Fehlermeldung zeigt an, dass der PHP -Prozess, der versucht, in die Protokolldatei zu schreiben. Es gibt einige Dinge, die Sie versuchen können, dieses Problem zu beheben:

  1. Überprüfen Sie den Eigentum und die Berechtigungen der Protokolldatei und ihrer übergeordneten Verzeichnisse. Der PHP. Du kannst den ... benutzen 'ls -l' Befehl zum Überprüfen des Eigentums und der Berechtigungen der Datei und der Chmod und korrigiert sie, um sie gegebenenfalls zu ändern.
    CHMOD -R 777/var/www/html/speicher  
  2. Stellen Sie sicher, dass der PHP -Prozess als richtiger Benutzer ausgeführt wird. Wenn der PHP -Prozess als anderer Benutzer als der Eigentümer der Protokolldatei ausgeführt wird, hat er möglicherweise keine ausreichenden Berechtigungen, um in die Datei zu schreiben. Sie können sich mit dem Benutzer erkundigen, dass der PHP -Vorgang mit dem Befehl PS ausgeführt wird.
  3. Überprüfen Sie das PHP -Fehlerprotokoll für weitere Informationen. Das PHP -Fehlerprotokoll kann detailliertere Informationen über den Fehler enthalten, einschließlich der genauen Codezeile, die das Problem verursacht hat. Die Position des PHP -Fehlerprotokolls wird normalerweise im PHP angegeben.INI -Konfigurationsdatei.
  4. Stellen Sie sicher, dass die Protokolldatei vorhanden ist und vom PHP -Prozess beschreibend ist. Wenn die Protokolldatei nicht vorhanden ist, kann der PHP -Prozess nicht darauf schreiben. Sie können die Protokolldatei erstellen und die korrekten Berechtigungen mit dem festlegen 'berühren' Und "Chmod" Befehle.
    Touch/var/www/html/speichern/logs/laravel.Protokoll  CHMOD 777/var/www/html/speichern/logs/laravel.Protokoll  
  5. Die CentOs und andere Benutzer von Redhat -Systemen können Selinux aktiviert haben. Sie können das eigentliche festlegen Selinux Richtlinie für die 'Lagerung' Verzeichnis mit dem folgenden Befehl.
    CHCON -r -t httpd_sys_rw_content_t/var/www/html/speicher  
  6. Die folgenden Befehle helfen Ihnen, alle erforderlichen Speicherverzeichnisse zu erstellen.
    mkdir -p/path/to/laravel/storate/app, Framework, Protokolle  mkdir -p/path/to/laravel/storate/Framework/Cache, Sitzungen, Ansichten  

    Dann chnagen Sie den Directoires -Besitzer und weisen Sie allen die vollständigen Berechtigungen zu:

    CHMOD -R 777/Pfad/to/laravel/speicher/  Chown -r www-data: www-data/path/to/laravel/storate/  

    Stellen Sie sicher, dass Sie sich ändern '/path/to/laravel' ' Mit Ihrem Laravel -Anwendungsverzeichnis.

Ich hoffe, diese Vorschläge helfen helfen. Lassen Sie mich wissen, ob Sie Fragen haben oder weitere Hilfe benötigen.