Potřebuji provést více úprav pro SELinux než jen pro storage
. Zejména config
dir vám může tento problém získat na bootstrappingu Laravel.
Pokud sudo setenforce permissive
a funguje to, pak to otočte zpět sudo setenforce enforcing
pak postupujte níže.
Nastavení 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(/.*)?"
Následující pro config
možná nebudete potřebovat , ale udělal. Nejbezpečnější může být nespouštět tento, pokud nepotřebujete:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/config(/.*)?"
Poté, co byly provedeny úpravy dir, potom resetujte:
restorecon -Rv /var/www/site/
V mém případě to byl jiný uživatel unixu, takže tento fungoval:
chown -R php-fpm:php-fpm storage
zkuste tyto fungovaly pro mě ...
sudo find ./storage -type f -exec chmod 666 {} \;
sudo find ./storage -type d -exec chmod 777 {} \;
Ukázalo se, že problém je s selinux
Našel jsem tuto odpověď, která vyřešila můj problém.
Dokažte, že toto je problém vypnutím
selinux
pomocí příkazusetenforce 0
To by mělo umožnit zápis, ale vypnuli jste přidané zabezpečení na celém serveru. To je špatné. Vraťte SELinux zpět
setenforce 1
Poté nakonec použijte SELinux k povolení zápisu souboru pomocí tohoto příkazu
chcon -R -t httpd_sys_rw_content_t storage
A vyrazíte!