CakePHP 3 缓存文件权限

CakePHP 3 Cache File Permissions

我有一个 CakePHP 3 应用程序,其中 shells 来自 crontab 运行。

当我通过 crontab 运行 shells 时,它会创建属于用户 运行ning crontab 的缓存文件,而不是 运行 的用户阿帕奇...

有时当我 运行 crontab 时,缓存的模型由 apache 拥有并且 shell 失败,有时当我访问页面时模型由 ec2-user 拥有并且页面失败。 ..

我在 github、https://github.com/cakephp/cakephp/issues/11265#issuecomment-333951638

上发布了一个问题

有人告诉我修改缓存配置的 chmod 选项,我尝试了以下方法但没有用...

/**
 * Configure the cache adapters.
 */
'Cache' => [
    'default' => [
        'className' => 'File',
        'path' => CACHE,
        'url' => env('CACHE_DEFAULT_URL', null),
        'chmod' => 777
    ],

关于如何将蛋糕缓存文件的默认文件权限设置为 777 的任何想法?

我建议让 chron 运行 成为正确的用户,或者让 chron 任务更改所有者并保持设置的权限,但如果你真的想保持原样并只更改权限,那么您可以使用 mask 选项,我认为这就是他们的意思。

Cache Config Options

使用以下设置:

'Cache' => [
    'default' => [
        'mask' => 0777,
        // other config options
    ],
]

@KaffineAddict 是正确的,但请确保不要将掩码的值用引号引起来,因为这会导致值无法提供正确的权限。

'Cache' => [
    'default' => [
        'mask' => 0777,
        // other config options
    ],
]