小编Ale*_*nov的帖子

在 Docker 环境中运行 Symfony 时的文件夹权限

我正在 OSX 上运行 Docker 容器。容器包括:

  1. 交响乐团
  2. nginx
  3. php-fpm
  4. 雷迪斯

这是运行 Symfony 应用程序的非常常见的设置。

我遇到了一些奇怪的文件夹权限问题,并且收到此错误: 错误屏幕截图

我的 Symfony 可以创建文件夹

/var/www/var/chache 
Run Code Online (Sandbox Code Playgroud)

但它无法写入其中。创建缓存文件夹后,文件夹权限将设置为:

10344 drwxr-xr-x 1 1000 staff    68 Apr 15 00:33 cache
Run Code Online (Sandbox Code Playgroud)

该文件夹的所有者是我的本地 OSX 用户,Docker 正在该用户下运行。我尝试从 Docker 中的 Symfony CLI 更改文件夹权限或所有者,但没有效果。我尝试chmod -R 777在本地控制台下更改权限,但随后 Symfony 在缓存文件夹内创建文件夹,并且无法再次写入其中。

我还尝试在 app_dev.php 中禁用缓存:

$kernel = new AppKernel('dev', true); 
// $kernel->loadClassCache();
$request = Request::createFromGlobals();
Run Code Online (Sandbox Code Playgroud)

在 config.yml 中:

twig:
    cache:        false
Run Code Online (Sandbox Code Playgroud)

没有任何效果,所以我迷失在这里。

有什么想法如何解决问题吗?

php permissions caching symfony docker

2
推荐指数
1
解决办法
8567
查看次数

标签 统计

caching ×1

docker ×1

permissions ×1

php ×1

symfony ×1