Ich muss mehr Anpassungen für SELinux vornehmen als nur für storage
. Besonders die config
dir kann dir dieses Problem beim Laravel-Bootstrapping besorgen.
Wenn Sie sudo setenforce permissive
und es funktioniert, dann drehen Sie es zurück sudo setenforce enforcing
dann folgen Sie unten.
SELinux Laravel-Setup:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/storage(/.*)?"
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/bootstrap/cache(/.*)?"
Sie benötigen den folgenden möglicherweise nicht für config
, hab ich doch. Es ist möglicherweise am sichersten, dieses nicht auszuführen, es sei denn, Sie müssen:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/config(/.*)?"
Setzen Sie dann zurück, nachdem Ihre Verzeichnisanpassungen vorgenommen wurden:
restorecon -Rv /var/www/site/
In meinem Fall war es ein anderer Unix-Benutzer, also hat dieser hier funktioniert:
chown -R php-fpm:php-fpm storage
Probieren Sie diese aus, die bei mir funktioniert haben ...
sudo find ./storage -type f -exec chmod 666 {} \;
sudo find ./storage -type d -exec chmod 777 {} \;
Es stellt sich heraus, dass das Problem bei selinux
liegt
Ich habe diese Antwort gefunden, die mein Problem gelöst hat.
Beweisen Sie, dass dies das Problem ist, indem Sie selinux
deaktivieren mit dem Befehl
setenforce 0
Dies sollte das Schreiben ermöglichen, aber Sie haben die zusätzliche Sicherheit serverweit deaktiviert. Das ist schlecht. Schalten Sie SELinux zurück
setenforce 1
Verwenden Sie dann schließlich SELinux, um das Schreiben der Datei zuzulassen, indem Sie diesen Befehl verwenden
chcon -R -t httpd_sys_rw_content_t storage
Und los geht's!