WordPress3.7 升级时提示“正在执行例行维护,请一分钟后回来” 解决办法

wordpress在3.7版本开始支持自动升级。不够这也带来了一个常见的问题,当wordpress在升级过程中可能超时,导致网站一直处于维护模式(maintenance mode)且不能访问网站的文章。即出现“Briefly unavailable for scheduled maintenance. Check back in a minute"(正在执行例行维护,请一分钟后回来”) 。
我就是在升级插件的时候出现这个问题的。这是人生第一次见到这个问题

为什么这个维护时候会出现这个错误呢?
维护模式页面在技术上并不算是个错误。它是一个通知页面,在更新的过程中,wordpress的下载所需的更新文件到你的服务器,把它提取出来,并安装新的文件。所以在这个时间段,wordpress会把维护模式的网页提醒放出来“Briefly unavailable for scheduled maintenance. Check back in a minute"(正在执行例行维护,请一分钟后回来”)。
如果更新过程一切顺利,这个提醒页面只会出现几秒。但是对于响应慢或者内存低的服务器来说,更新脚本可能会超时或者被中断。当更新超时或中断后,wordpress 就会一直处于维护模式,同时总是显示维护页面。

如何解决WordPress “Briefly unavailable for scheduled maintenance. Check back in a minute”的问题呢?
很简单,在wordpress的根目录下,你可以找到一个叫 .maintenance 的文件,但是这个文件是隐藏的。找到这个文件后,删除它,你的网站就能正常访问了。
shell下删除 .maintenance 。进入wordpress的根目录(wordpress的安装目录)
#ls -a
就可以看到有 .maintenance 文件
然后删除它:
#rm -rf  .maintenance
再次打开网站,可以正常访问了。
FTP下你就设置ftp软件显示隐藏文件夹,然后手动删除就可以了
如何自定义维护模式的提醒页面?
避免出现默认的维护模式提醒的最简单的方法就是将访问者重定向到一个临时的维护页面。在升级前,将你的网站设置为维护模式,让用户暂时不能访问。
当然,如果你不想手动设置网站进入维护模式,你可以创建一个维护页面,而无需使用插件(如果懒,可以使用 Maintenance Mode plugin   或者 WP Maintenance Mode 插件)。简单的创建一个叫 maintenance.php 的文件,将下面的代码粘贴进去。

 代码如下 复制代码
<?php
$protocol = $_SERVER["SERVER_PROTOCOL"];
if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
$protocol = 'HTTP/1.0';
header( "$protocol 503 Service Unavailable", true, 503 );
header( 'Content-Type: text/html; charset=utf-8' );
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>We are updating the site, please check back in 30 minutes.</h1>
</body>
</html>
<?php die(); ?>

 
将这个文件上传到 wordpress的 wp-content 目录中。现在无论你什么时候升级网站,这个页面都会在维护模式下显示。你也可以增加css来美化下页面。
英文原文
 
网上看到的另外一个方法:
如果还是不行,或者你想让它以后可以显示 .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;
}

然后刷新FTP目录,是不是看到.maintenance了,删除它吧!

时间: 2024-09-20 08:41:41

WordPress3.7 升级时提示“正在执行例行维护,请一分钟后回来” 解决办法的相关文章

WordPress出现&quot;正在执行例行维护,请一分钟后回来&quot;问题

今天老蒋在帮助公司一个客户安装WordPress网站程序的时候发现安装完毕之后出现维护界面,提示"正在执行例行维护,请一分钟后回来."的问题,这个之前还真没有遇到过.应该是什么进程卡住导致的,因为检查公司服务器中的其他WP网站也没有出现这样的问题. 第一.问题现状   第二.解决问题 删除当前网站根目录中是否有.maintenance文件删除.   将上图所示的文件删除,然后再回到WP前台刷新,应该是可以解决问题.

WIN10删除文件提示该项目不在请确认该项目的位置解决办法

首先桌面新建TXT文档: 打开文档复制下面内容里面: DEL /F /A /Q \\?\%1RD /S /Q \\?\%1 保存为bat文件,也可以将XXX.TXT改成XXX.BAT 这时发现图标变了,拖着要删除东西拉到咱们制作的东西上就没了:

MySQL提示:The server quit without updating PID file问题的解决办法

MySQL提示:The server quit without updating PID file问题的解决办法 mysql 5.5  centos 6.5  The server quit without updating PID file /opt/mysql/t1.pid 排除思路: 定位是mysql my.cnf里面出问了. 查看mysql错误日志,主机名.err  可以使用find查找. 160308 11:57:49 mysqld_safe mysqld from pid file

电脑使用Chrome浏览器时提示“Adobe Flash Player 因过期而遭到阻止”的解决办法

  电脑使用Chrome浏览器时提示"Adobe Flash Player 因过期而遭到阻止"的解决办法 .有不少用户在电脑中使用Chrome浏览器时出现"Adobe Flash Player 因过期而遭到阻止"的提示,要求插件进行更新.如果出现这样的问题,我们可以尝试通过下面提供呢的方法来进行解决. 关于flash过期遭阻止的解决办法如下所示: 1.如果Flash插件不是最新版本,可以搜索Flash下载并安装; 2.安装后,在Chrome浏览器中输入chrome:

Advanced Installer 中测试数据库连接提示“未发现数据源名称并且未指定默认驱动程序”的解决办法

原文:Advanced Installer 中测试数据库连接提示"未发现数据源名称并且未指定默认驱动程序"的解决办法 最近需要制作一个安装包,安装包的要求如下: 1.用户手工填写MySql的地址.用户名和密码 2.填写完成后提供测试数据库连接是否正常的按钮功能 3....... 项目要求打包的Mysql版本为5.5.27 x64版本,通过研究Advanced Installer 发现,此打包工具提供了数据库连接字符串,并且是通过ODBC的方式来连接的,既然是安装的64位的数据库,那么连

【技术贴】小米连接wifi提示已保存,但是无ip无法上网的解决办法

你把你的无线路由器的名字改一下,肯定里面有不识别的字符了. 比如我的叫 SSID号: TP-LINK_Start 里面可能含有了小米不识别的字符,所以它不能获取ip 我把SSID改为了TP-LINK_liu之后,小米连接无线路由之后立即获得了ip!!! 小米连接wifi提示已保存,但是无ip无法上网的解决办法,小米连接了wifi,却无法上网,小米如何连接路由器wifi,已保存的问题解决.  

js算法-求一个JS算法,30s没执行成功,则1分钟后继续执行,。。。直到执行成功

问题描述 求一个JS算法,30s没执行成功,则1分钟后继续执行,...直到执行成功 执行一件事,如果没成功,则每过一段时间后自动执行,直到成功 解决方案 <script language=javascript> var int=self.setInterval("dothings()",1000)//1秒1次 function dothings() { if(true){//如果执行成功 clearInterval(int);//关闭定时执行 } } </script

惠普打印机打印WORD,系统提示“该文档未能打印 本地下层文档”解决办法

打印WORD,系统提示"该文档未能打印 本地下层文档",打印机是惠普的,搞了一天,驱动和系统都重装几遍了,还是没用   解决办法 出现"文档未打印"   有以下几个原因:     1. 电脑USB插口接触不良生锈或有氧化层或松动! 清理或改换别的USB插口.     2.主板供电不足. 这个就有些麻烦,但可以 改用高速打印线USB2.0线改善.     3.电源或交流电压过低. 更换主机电源 或加装 稳压器     4.病毒阻碍打印机软件驱动或者电脑配置低打开的启动

mysql启动提示 access denied for user root@localhost(using password:YES) 解决办法总结

关键是看:Access denied for user 'root'@'localhost' (using password: YES)' 从错误中可以看出你的权限是对localhost的访问没有放开. 于是你可以使用如下命令来放开权限: 解决办法 1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程: 2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:mysql , CMD进入命令行: 3. 运行 D:Program FilesMySQLMySQL Server