我有一个带有shell的CakePHP 3应用程序,我是从crontab运行的。
当我通过crontab运行shell时,它会创建运行crontab的用户拥有的缓存文件,而不是运行apache的用户.
有时,当我运行crontab时,缓存的模型由apache拥有,shell失败,有时当我访问一个页面时,模型由EC2用户拥有,页面失败……
我在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,有什么想法吗?
发布于 2017-10-10 14:29:11
我建议让chron作为正确的用户运行,或者让chron任务更改所有者并将权限保持为set,但是如果您真的希望拥有所有的权限,只需要更改权限,那么您可以使用mask选项,我认为这就是它们的意思。
使用以下方法设置:
'Cache' => [
'default' => [
'mask' => 0777,
// other config options
],
]发布于 2020-09-22 12:17:47
@KaffineAddict是正确的,但请确保不要将掩码的值包装在引号中,因为这会导致值不提供正确的权限。
'Cache' => [
'default' => [
'mask' => 0777,
// other config options
],
] https://stackoverflow.com/questions/46556950
复制相似问题