解决WordPress 4.1总是提示更新翻译/主题丢失、无法编辑等问题(scandir)

这篇文章丢在草稿箱都半个月了,因为博客转入阿里云备案耽搁了。直到昨天才收到工信部新增接入商的短信通知,所以这篇快发霉的文章也该出来晒一晒了。

正如标题所述,我在阿里云 ESC 上搭建好 lnmp 环境,并同步博客数据到新服务器上后,收到了 WordPress 的翻译更新通知,点击更新翻译,毫无意外的更新成功!可等我一刷新后台的任意页面,又会弹出翻译更新通知!

还真见鬼了!不经意的点击了主题选项,发现看不到主题的编辑器了?这个问题,相信很多自己搭建环境的站长都遇到过,就是 PHP 下的一个 scandir 函数被禁用了!

解决办法很简单:

1. 编辑 php 的配置文件:php.ini,搜索并找到 disable_functions;

2. 删除 disable_functions 后面的 scandir 字符串,保存 php.ini;

3. 重载或重启 php-fpm 服务即可:service php-fpm reload 。

完成这个之后,意外的发现,成功更新翻译之后,居然不再提示 l 了??分析了一下,却也是在情理之中的事情:scandir()看字面意思是一个目录扫描的函数,大概是对工作目录下的文件和目录异动进行扫描分析的函数。虽然更新翻译时确实下载并替换了最新的翻译文件,但是因为 scandir 函数被禁用,所以文件的更新变动并未被系统记录,导致后台刷新,再次出现了更新提示!

好了,说白了都是 scandir 函数被禁用后出现的小问题,所以当你搭建完 PHP 环境后,可以在第一时间就把这些要做的设置先设置好,避免后出现各种稀奇古怪,让人纳闷的小问题!

最后,对于此次转入阿里云的转入备案,让我对上有政策,下有对策又有了新的见解和方法。所以预告一下,接下来张戈博客的两篇文章就是再次整理分享一下老网站在天朝备案的对策,以及阿里云 WAF 防火墙的使用技巧,敬请期待!

评论已关闭!