为什么使用文件作为缓存驱动,有时候创建的文件没有权限?
程序使用文件做为缓存驱动,有时候发现会server error,发现是file_put_contents错误,是创建的缓存文件权限不够,不懂这是什么情况?
补充一下:肯定是给storage设置了权限的,这里疑惑的是这个问题是小概率出现的。
补充错误提示:file_put_contents(/codes/chain/storage/framework/cache/data/ef/1b/ef1bceb9a53905150469c7ca2eefc5c7c294e6ac): failed to open stream: No such file or directory {“exception”:”[object] (ErrorException(code: 0): file_put_contents(/codes/chain/storage/framework/cache/data/ef/1b/ef1bceb9a53905150469c7ca2eefc5c7c294e6ac): failed to open stream: No such file or directory at /codes/xinhua/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:133)
对应的文件权限:644,但是所属的用户和用户组特别奇怪
最新补充:并不清楚框架会在什么情况下偶尔会创建644权限的缓存文件,目前我是进入到容器内给storage授权为www-data:www-data 755的权限,并没有找到更好的办法解决这个问题,这意味着我在部署新项目或者重新构建镜像的时候需要再次进入容器去给文件夹授权,但是应该还是解决不了问题,毕竟上面的截图显示的所属用户和用户组是33 tape
推荐文章: