yii2缓存写入失败问题排查记录

问题

今天遇到了一个很奇怪的bug,只有同事的手机登陆系统一直失败,其余人的都正常。php

发现缘由

在确认代码逻辑没问题后,发现是yii2写入缓存失败的问题。
咱们yii2的缓存组件是使用文件组件,进入缓存所在的文件夹,发现有少数几个文件夹拥有者是root,而不是运行php-fpm的apache,而这几个文件夹的权限为775,因此apache没有写入的权限。apache

解决问题

使用chmod赋值777权限后,写入正常。
那么是什么致使这几个root文件的生成的呢?由于咱们用了定时任务执行commonds,可是指定的用户是root,因此才出现了这个问题。把crontab里的用户指定改为apache,这问题就解决了。缓存

防范于未然

若是是有人登录并手动执行了commonds的话,也可能会生成apache操做不了的文件,因此让运维把全部登录用户和apache放在一个组里,这个问题就彻底解决了。yii2

相关文章
相关标签/搜索