CAKEPHP3缓存文件权限
我有一个CakePHP3应用程序,它带有从crontab运行的shell 当我通过crontab运行shell时,它会创建运行crontab的用户拥有的缓存文件,而不是运行apache的用户 有时当我运行crontab时,缓存的模型归apache所有,shell失败;有时当我访问一个页面时,模型归ec2用户所有,页面失败 我在github上发布了一个问题 我被告知要修改缓存配置的chmod选项,我尝试了以下方法,但没有成功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.
/**
* 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',
解决它,效果很好。谢谢。我更新了接受的答案,包括你的贡献,谢谢!