看到置顶有新的wordpress版本升级,就随意点了一下。很长时间没有提示成功,就F5刷新了下,结果直接跳出 “正在执行例行维护,请一分钟后回来”。前台后台均如此,一下脑门汗出来了了,因为之前没有备份。一边埋怨自己,一边找问题解决方法。还好同样问题看来是经常发生,不是很难解决。
1. FTP登录网站,删除WordPress根目录下的 .maintenance 即可。如果没有 .maintenance,新建一个空txt文本上传,重命名为 .maintenance,再删除。
2. 如果这样也不行,只好用修改函数的方法:
找到 /wp_admin/includes/class-wp-filesystem-direct.php 文件,修改 function mkdir 这个函数
function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
// safe mode fails with a trailing slash under certain PHP versions.
$path = untrailingslashit($path);
if ( empty($path) )
return false;
if ( ! $chmod )
$chmod = FS_CHMOD_DIR;
if ( ! @mkdir($path) )
return false;
$this->chmod($path, $chmod);
if ( $chown )
$this->chown($path, $chown);
if ( $chgrp )
$this->chgrp($path, $chgrp);
return true;
}
用下面的代码替换原有的代码:
function mkdir($path, $chmod = false, $chown = false, $chgrp = false) {
// safe mode fails with a trailing slash under certain PHP versions.
if ( ! $chmod )
$chmod = $this->permission;
if(ini_get(‘safe_mode’) && substr($path, -1) == ‘/’)
{
$path = substr($path, 0, -1);
}
if ( ! @mkdir($path) )
return false;
$this->chmod($path, $chmod);
if ( $chown )
$this->chown($path, $chown);
if ( $chgrp )
$this->chgrp($path, $chgrp);
return true;
}
然后再删除 .maintenance 文件,解决问题。
修改函数的办法都没用到,直接删除 .maintenance 文件,就解决了。自动更新前wordpress提醒备份数据,看来还是要重视!