画星星高手

It nerver rains but it pours.

解决 WordPress“正在执行例行维护,请一分钟后回来”

前言

WordPress在升级程序、主题、插件时,都会先切换到维护模式,也就是显示 “正在执行例行维护,请一分钟后回来(Briefly unavailable for scheduled maintenance. Check back in a minute)”,如果升级顺利,也就几秒左右就恢复正常;但是如果由于网速不佳等原因导致升级中断,WordPress就会一直停留在维护模式,不论前台还是后台,都一直显示“正在执行例行维护,请一分钟后回来“。

解决方法

  1. 马上通过FTP登录你的网站,删除WordPress根目录下的 .maintenance ,刷新网页即可。

  2. 但是有时候你会发现,根目录根本就没有 .maintenance!倡萌最近就遇到这个问题,最初以为是隐藏了,所以使用SSH登录服务器,但是依旧没有看到,怎么办?其实有一个比较简单的办法,直接新建一个空的txt文本,上传到主机空间中,然后重命名为 .maintenance,然后你会发现 .maintenance 居然不见了!不用担心,重新刷新你的网站,是不是正常了?!

  3. 如果还是不行,或者你想让它以后可以显示 .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;
}
点赞

发表评论