我有一个带有shell的CakePHP 3应用程序,我从crontab运行。
当我通过crontab运行shell时,它会创建运行crontab的用户所拥有的缓存文件,而不是运行apache的用户......
有时当我运行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的任何想法?
答案 0 :(得分:2)
我建议让chron作为正确的用户运行或让chron任务更改所有者并保持权限设置但是如果你真的想拥有它并且只是更改权限那么你可以使用{{ 1}}我认为是他们的意思。
使用以下内容进行设置:
mask
答案 1 :(得分:1)
@KaffineAddict是正确的,但请确保不要将mask的值包装在引号中,因为这可能会导致值不具有正确的权限。
'Cache' => [
'default' => [
'mask' => 0777,
// other config options
],
]