Paw*_*Rai 7 laravel docker dockerfile docker-compose laradock
我正在按照本地机器上 Laradock 的官方文档设置 laradock(多个项目的设置)。
安装后,我通过工作区容器 bash 安装了 laravel。我确实在nginx/sites/目录和文件中为应用程序配置了配置/etc/hosts文件。
在访问开发网址时,我收到以下错误消息:
流或文件“/var/www/laravel-api/storage/logs/laravel.log”无法在追加模式下打开:无法打开流:权限被拒绝
小智 23
这对我有用:
chown -R www-data:www-data "project foldername"
Run Code Online (Sandbox Code Playgroud)
小智 16
如果更改文件权限和所有者后仍然遇到问题,只需检查 Linux 服务器的操作系统即可。登录到您的服务器
$ ssh user@server-ip
Run Code Online (Sandbox Code Playgroud)
检查Linux服务器上运行的操作系统
$ cat /etc/os-release
Run Code Online (Sandbox Code Playgroud)
//输出
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
Run Code Online (Sandbox Code Playgroud)
如果是 CentOS,则需要禁用安全增强型 Linux (SELinux)(如果已启用)。检查 SELinux 状态
$ sestatus
Run Code Online (Sandbox Code Playgroud)
如果启用的话
$ setenforce Permissive
Run Code Online (Sandbox Code Playgroud)
或者
$ sudo setenforce 0
Run Code Online (Sandbox Code Playgroud)
祝你有美好的一天!
Anj*_*lva 11
您必须首先输入“docker-compose exec Workspace bash”(不带引号)进入工作区
要授予单个文件写权限,
chmod -R 777 /var/www/laravel-api/storage/logs/laravel.log
Run Code Online (Sandbox Code Playgroud)
或者
chmod -R 777 /var/www/laravel-api/storage/logs
Run Code Online (Sandbox Code Playgroud)
或者
sudo chmod -R 777 /var/www/laravel-api/storage/logs/laravel.log
Run Code Online (Sandbox Code Playgroud)
当出现相同的错误但出现不同的文件夹或文件时,执行相同的操作仅更改文件夹名称
例子 :
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
Run Code Online (Sandbox Code Playgroud)
如果您没有在 Web 服务器上以 root 身份运行应用程序,那么根据您提供的权限,它不会具有写入权限。
从工作区容器 bash 检查。storage/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/
Run Code Online (Sandbox Code Playgroud)
可以www-data针对与您的 Web 服务器关联的任何组进行切换。
为了避免完全重复令人惊奇且完整的答案,我建议您阅读以下答案:
| 归档时间: |
|
| 查看次数: |
52355 次 |
| 最近记录: |