Saya perlu melakukan lebih banyak penyesuaian untuk SELinux daripada hanya untuk storage
. Terutama config
dir dapat memberi Anda masalah ini pada bootstrap Laravel.
Jika Anda sudo setenforce permissive
dan berhasil, lalu hidupkan kembali sudo setenforce enforcing
lalu ikuti di bawah ini.
Penyiapan laravel SELinux:
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(/.*)?"
Anda mungkin tidak memerlukan kode berikut untuk config
, tetapi saya melakukannya. Mungkin paling aman untuk tidak menjalankan yang ini kecuali Anda perlu:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/config(/.*)?"
Kemudian Setel Ulang setelah penyesuaian dir Anda dilakukan:
restorecon -Rv /var/www/site/
Dalam kasus saya itu adalah pengguna unix lain jadi yang ini berfungsi:
chown -R php-fpm:php-fpm storage
coba ini berhasil untuk saya ...
sudo find ./storage -type f -exec chmod 666 {} \;
sudo find ./storage -type d -exec chmod 777 {} \;
Ternyata masalahnya ada pada selinux
Saya menemukan jawaban ini, yang menyelesaikan masalah saya.
Buktikan ini masalahnya dengan mematikan
selinux
dengan perintahsetenforce 0
Ini seharusnya memungkinkan penulisan, tetapi Anda telah mematikan keamanan tambahan di seluruh server. Itu buruk. Hidupkan SELinux kembali
setenforce 1
Kemudian terakhir gunakan SELinux untuk mengizinkan penulisan file dengan menggunakan perintah ini
chcon -R -t httpd_sys_rw_content_t storage
Dan Anda pergi!