把测试账号提成 administrator 方便看设置,同事在插件页顺手点了删除,首页立刻白屏,致命错误指向已经不存在的插件函数。乍看像缓存或者权限的锅,追下去往往不是。

wp user list --fields=ID,user_login,roles
wp user set-role qa editor
wp plugin list --status=active

追下去是这么回事:测试账号按管理员授权,权限比验证功能所需的大得多。删插件这类操作没有二次确认,测试站也没有做文件备份。

碰到「测试账号权限」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。

具体做法是,测试账号按用途分配角色,编辑只给 editor,验证订单给店铺管理员;删除和停用插件在测试站禁用,或者加一道确认;测试站每天自动备份主题和插件目录并保留七天;管理员账号只留给一个人,其他人用低权限账号。

验收就看一点,测试账号登录后看不到插件删除入口,站点恢复访问,账号列表里 qa 的角色是 editor。

作者 9823189