在翻译工具里改完一条译文点保存,红字提示目录不可写,换成别的账号把文件直接传上去又能生效。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,语言包目录的属主是超级用户,网站进程没有写权限,翻译工具走的是网页进程身份,命令行上传用的是另一个账号,两边权限本来就不一样。
「Loco Translate 权限」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
ls -ld wp-content/languages chown -R www-data:www-data wp-content/languages chmod 755 wp-content/languages
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。
具体做法是,先看目标目录的属主和权限位是不是网站用户;把语言目录改成网站进程用户可写 其他保持原样;只放开这一个目录 千万不要把整站权限开到最大。
最后用这个标准收尾,保存时不再报错 前台译文立即刷新 重启服务以后也能保持。
