“无法打开流或文件“laravel.log”:无法打开流:权限被拒绝”
Posted
技术标签:
【中文标题】“无法打开流或文件“laravel.log”:无法打开流:权限被拒绝”【英文标题】:"The stream or file "laravel.log" could not be opened: failed to open stream: Permission denied" 【发布时间】:2019-02-10 04:19:36 【问题描述】:几天前我将文件上传到我的cent OS服务器,它工作正常,但从今天开始我收到错误。
流或文件“/var/www/html/hasibtest/storage/logs/laravel.log” 无法打开:无法打开流:权限被拒绝
我的日志文件在哪里具有 777 权限,我也在尝试使用 0755、0644
谁能告诉我如何解决这个问题?
【问题讨论】:
file_put_contents permission denied的可能重复 【参考方案1】:首先尝试以递归方式获取目录的所有权
sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache
然后使用以下设置正确的目录访问权限
chmod -R 775 storage
chmod -R 775 bootstrap/cache
永远不要将目录权限设置为 777(除非你知道自己在做什么)
【讨论】:
对于我的用例,我不得不将 www-data 替换为 'apache'【参考方案2】:查看当前用户:<?php echo exec('whoami'); ?>
我在 ubuntu 上使用 Lampp,所以结果是 daemon
然后运行几个命令,谢谢@Shobi
sudo chown -R daemon:www-data storage
sudo chown -R daemon:www-data bootstrap/cache
现在可以了
【讨论】:
【参考方案3】:在 Centos 或 Red Hat 上
先做这个
# sestatus
如果状态已启用,则必须禁用它
# setenforce Permissive
对我来说组和用户是 nginx 所以
chown -R nginx:nginx storage bootstrap/cache
chmod -R 775 storage
chmod -R 775 bootstrap/cache
【讨论】:
终于,这才是真正的解决方案,非常感谢【参考方案4】:尝试更改文件夹的所有者并更改文件夹的权限
sudo chown -R www-data storage/logs/
sudo chmod g+w -R storage/logs
现在对子文件夹日志应用所有规则
cd storage/logs
sudo find . -type d -exec chmod g+s '' +
【讨论】:
【参考方案5】:请注意,您必须同时更改两者。所有权和权限,以及这两个文件夹中的文件夹。 这应该影响到所有孩子
sudo chown -R apache storage
sudo chown -R apache bootstrap/cache
and
chmod -R 775 storage
chmod -R 775 bootstrap/cache
您可以查看所有者
ls -lr
该命令将显示谁拥有所有权。
【讨论】:
【参考方案6】:这应该对你有帮助
chcon -R -t httpd_sys_content_t $SITE_PATH
chcon -R -t httpd_sys_rw_content_t $SITE_PATH
【讨论】:
【参考方案7】:我找到的最短修复方法:
php artisan storage:link
sudo chown -R $USER:www-data storage bootstrap/cache
【讨论】:
以上是关于“无法打开流或文件“laravel.log”:无法打开流:权限被拒绝”的主要内容,如果未能解决你的问题,请参考以下文章
无法打开流或文件“/app/storage/logs/laravel.log”:无法打开流:权限被拒绝
xampp ubuntu laravel 无法打开流或文件“/storage/logs/laravel log”:无法打开流:权限被拒绝
Laravel 7 XAMPP Mac OS:无法打开流或文件“../storage/logs/laravel.log”。没有权限
异常处理程序出错:无法打开流或文件“/var/www/app/storage/logs/laravel.log”:无法打开流:
我的 Laravel 应用程序在 Google Cloud 上出现问题。无法打开流或文件“/srv/storage/logs/laravel.log”