Fedora 36中本地HTTPS模式Laravel服务器权限报错排查
Laravel日志权限拒绝问题排查(Fedora 36)
针对你遇到的无法以追加模式打开流或文件"/var/www/compagnon-be/storage/logs/laravel.log":权限被拒绝错误,以下是具体排查方向:
1. SELinux 上下文限制(最常见原因)
Fedora 默认启用 SELinux,即使文件系统权限配置正确,SELinux 上下文不符也会阻断写入。
- 检查 storage 目录的 SELinux 上下文:
ls -Z /var/www/compagnon-be/storage - 若上下文不是
httpd_sys_rw_content_t,执行以下命令修复:sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/compagnon-be/storage(/.*)?" sudo restorecon -Rv /var/www/compagnon-be/storage
2. 日志文件本身权限异常
目录权限正确不代表文件权限正确,若日志文件由 root 或其他用户创建,会导致 Apache 无法写入:
- 检查日志文件权限:
ls -l /var/www/compagnon-be/storage/logs/laravel.log - 修正文件所有者和权限:
sudo chown muser:apache /var/www/compagnon-be/storage/logs/laravel.log sudo chmod 664 /var/www/compagnon-be/storage/logs/laravel.log
3. 确认 Apache 运行用户
少数情况下 Apache 运行用户可能不是 apache(Fedora 默认是 apache),需验证:
ps aux | grep httpd
若输出显示运行用户为 www-data,需将之前的 chown 命令改为 sudo chown -R $USER:www-data compagnon-be。
4. 补全 Laravel 核心目录权限
除 storage 外,bootstrap/cache 目录也需要写入权限,重新执行权限设置:
sudo chown -R muser:apache /var/www/compagnon-be/storage /var/www/compagnon-be/bootstrap/cache sudo chmod -R 775 /var/www/compagnon-be/storage /var/www/compagnon-be/bootstrap/cache
内容的提问来源于stack exchange,提问作者Meaulnes
相关产品推荐
相关产品推荐

