最近更新WordPress插件的时候发现因为网络波动原因导致更新失败,网站将一直停滞在在执行例行维护,请一分钟后回来的错误状态,哪怕将更新失败的插件删除也是无法解决该问题。
然后在网上寻找到了办法,在这里将很有效的几种解决方法分享给大家。
解决办法
方法一:
登录宝塔在网站根目录搜索.maintenance,删除.maintenance这个文件之后网站就回复正常了。(虚拟主机可用ftp工具删除该文件)
方法二:
个别情况也会出现你的网站根目录搜索不到.maintenance文件,无需担心,只需要在网站根目录新建一个空白的txt文件,之后将文件名称及后缀更改为.maintenance,网站也会恢复正常的。(如下图)
通过方法二创建.maintenance文件的方式时,也可能会出现修改完名称后.maintenance文件消失的情况,无需担心,尝试刷新网站已经恢复正常即可,如未解决请参考方法三解决。
方法三:
极少情况下,上述两种方法都无法解决“正在执行例行维护,请一分钟后回来“的问题。那我们也可以通过修改文件源代码的方式解决此问题。
依次点击文件路径 /wp-admin/includes,打开class-wp-filesystem-direct.php文件,找到下方的代码位置。
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文件 ,直接删除此文件,问题就可以得到有效解决了!
© 版权声明
THE END
暂无评论内容