Devo fare più aggiustamenti per SELinux che solo per storage
. Soprattutto il config
dir può risolvere questo problema con il bootstrap di Laravel.
Se sudo setenforce permissive
e funziona, quindi ripristinalo sudo setenforce enforcing
quindi segui sotto.
Configurazione di SELinux laravel:
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(/.*)?"
Potrebbe non essere necessario il seguente per config
, ma l'ho fatto. Potrebbe essere più sicuro non eseguirlo a meno che non sia necessario:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/config(/.*)?"
Quindi ripristina dopo che le modifiche alla directory sono state apportate:
restorecon -Rv /var/www/site/
Nel mio caso era un altro utente unix, quindi questo ha funzionato:
chown -R php-fpm:php-fpm storage
prova questi hanno funzionato per me ...
sudo find ./storage -type f -exec chmod 666 {} \;
sudo find ./storage -type d -exec chmod 777 {} \;
Risulta che il problema è con selinux
Ho trovato questa risposta, che ha risolto il mio problema.
Dimostra che questo è il problema disattivando
selinux
con il comandosetenforce 0
Questo dovrebbe consentire la scrittura, ma hai disattivato la sicurezza aggiuntiva a livello di server. Questo è male. Ripristina SELinux
setenforce 1
Poi finalmente usa SELinux per consentire la scrittura del file usando questo comando
chcon -R -t httpd_sys_rw_content_t storage
E sei fuori!