无法以追加模式打开FIle:无法打开流:权限被拒绝laradock



我正在本地机器中根据laradock的官方文档设置laradock(多个项目的设置(。

安装后,我通过工作空间容器bash安装了laravel。我确实在nginx/sites/目录和/etc/hosts文件中配置了应用程序的配置文件。

在访问开发url时,我收到以下错误消息:

流或文件"/var/www/laravel-api/storage/logs/laravel.log";无法在附加模式下打开:无法打开流:权限被拒绝

这对我有效:

chown -R www-data:www-data "project foldername"

如果您在更改文件的权限和所有者后仍然面临这个问题,只需检查Linux服务器的操作系统即可。登录到您的服务器

$ ssh user@server-ip

检查运行在linux服务器上的操作系统

$ cat /etc/os-release

//输出

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"

如果是在CentOS,则需要禁用安全增强型Linux(SELinux((如果已启用(。检查SELinux状态

$ sestatus

如果启用,则

$ setenforce Permissive

$ sudo setenforce 0

祝你今天过得愉快!

您必须首先输入"docker compose exec工作空间bash";(无报价(

要授予单个文件的写入权限,

chmod -R 777 /var/www/laravel-api/storage/logs/laravel.log

chmod -R 777 /var/www/laravel-api/storage/logs

sudo chmod -R 777 /var/www/laravel-api/storage/logs/laravel.log

当出现相同的错误但文件夹或文件不同时,只更改文件夹名

示例:

chmod -R 777 /var/www/laravel-api/storage/logs
chmod -R 777 /var/www/laravel-api/storage/framework/views
chmod -R 777 /var/www/laravel-api/storage/framework/sessions

如果您没有在web服务器上以root身份运行应用程序,那么它将无法根据您提供的权限进行写访问。

已从工作区容器bash中检查。存储/logs/目录具有drwxr-xr-x 2 root root 4096 Aug 1 07:37 logs

该错误抱怨在追加模式下打开时权限被拒绝-它没有写入文件的权限,只有root有。

您需要做的是使您的web服务器组成为存储目录的所有者:

chown -R www-data:www-data /var/www/laravel-api/storage/

www-data可以切换到与您的web服务器关联的任何组。

为了避免完全重复一个惊人而完整的答案,我建议你读一下这个答案:

如何为Laravel设置文件权限?

允许groupwrite访问/storage/logs/

sudo chmod g+w storage/logs

您需要运行以下命令。它对我有效:

步骤1:

sudo chmod-R+rwX。

步骤2:

sudo chown-R$(whoami(。

最新更新