laravel centOS 8“无法以附加模式打开日志文件:无法打开流:权限被拒绝”

问题描述 投票:0回答:4

通常在 ubuntu 中将所有权更改为

www-data
775
权限可以解决此问题。但在 centos 8 中这似乎还不够。我所做的是-

  1. 将 SELinux 设置为宽容模式
  2. 允许写入 laravel 存储文件夹 - chcon -R -t httpd_sys_rw_content_t storage
  3. sudo chown -R nginx:nginx /path/to/your/laravel/root/directory
  4. chmod -R 775 存储/
  5. 重新启动系统

什么都不起作用。该怎么解决这个问题?

laravel selinux centos8
4个回答
7
投票

从项目根文件夹尝试:

    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/

3
投票

问题出在 selinux

这对我有用

sudo chcon -R -t httpd_sys_rw_content_t /path/to/log/directory


0
投票

永远不要使用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

© www.soinside.com 2019 - 2024. All rights reserved.