TOC
KINA

KINA-0

Start having fun with KINA right now!

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

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

如何解决这个问题?

  1. 通过FTP登录网站,删除WordPress根目录下的.maintenance,刷新即可。
  2. 但有时候会发现,根目录根本就没有.maintenance。此时直接新建一个空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;
}

发表评论