通常在 ubuntu 中将所有权更改为
www-data
和 775
权限可以解决此问题。但在 centos 8 中这似乎还不够。我所做的是-
什么都不起作用。该怎么解决这个问题?
从项目根文件夹尝试:
sudo chmod -R gu+w storage/
sudo chmod -R guo+w storage/
sudo chmod -R gu+w bootstrap/cache/
sudo chmod -R guo+w bootstrap/cache/
问题出在 selinux
这对我有用
sudo chcon -R -t httpd_sys_rw_content_t /path/to/log/directory
在 CentOS 中我刚刚解决了这个问题: chcon -R -t httpd_sys_rw_content_t 存储/
永远不要使用777, 文件使用 644,目录使用 755。
export APACHE_USER=$(ps -ef | grep -E '(httpd|apache2|apache)' | grep -v `whoami` | grep -v root | head -n1 | awk '{print $1}')
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chgrp -R $APACHE_USER ./storage ./bootstrap/cache
chmod -R ug+rw ./bootstrap/cache ./storage/framework/cache storage/framework/sessions ./storage/framework/views
如果您使用 SELinux 设置标签:
restorecon -Rv .
chcon -R -t httpd_log_t storage/logs
chcon -R -t httpd_sys_rw_content_t bootstrap/cache
chcon -R -t httpd_sys_rw_content_t storage/framework/cache
chcon -R -t httpd_sys_rw_content_t storage/framework/views
chcon -R -t httpd_sys_rw_content_t storage/framework/sessions
脚本准备在: https://gist.github.com/NeftaliYagua/825b6ce483b92a296caa0f37e4ff040a