CAKEPHP3缓存文件权限

CAKEPHP3缓存文件权限,cakephp,amazon-ec2,cron,cakephp-3.x,cakephp-3.4,Cakephp,Amazon Ec2,Cron,Cakephp 3.x,Cakephp 3.4,我有一个CakePHP3应用程序,它带有从crontab运行的shell 当我通过crontab运行shell时,它会创建运行crontab的用户拥有的缓存文件,而不是运行apache的用户 有时当我运行crontab时,缓存的模型归apache所有,shell失败;有时当我访问一个页面时,模型归ec2用户所有,页面失败 我在github上发布了一个问题 我被告知要修改缓存配置的chmod选项,我尝试了以下方法,但没有成功 /** * Configure the cache adapters.

我有一个CakePHP3应用程序,它带有从crontab运行的shell

当我通过crontab运行shell时,它会创建运行crontab的用户拥有的缓存文件,而不是运行apache的用户

有时当我运行crontab时,缓存的模型归apache所有,shell失败;有时当我访问一个页面时,模型归ec2用户所有,页面失败

我在github上发布了一个问题

我被告知要修改缓存配置的chmod选项,我尝试了以下方法,但没有成功

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

关于如何在cake缓存文件上设置默认文件权限777,有什么想法吗?

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

使用以下命令设置:

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

@KaffineAddict是正确的,但请确保不要将mask的值括在引号中,因为这可能会导致这些值无法提供正确的权限

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

在cron中添加@mart不是更好吗?您还可以添加一些内容来更改文件的所有权。这可能是一个更容易得到您想要的解决方案。使用
'mask'=>'0666',
解决它,效果很好。谢谢。我更新了接受的答案,包括你的贡献,谢谢!