月度归档:2016年12月

WordPress在线升级失败后导致页面空白

1

WordPress 4.7 正式版前几天发布了,今天登录后台提示有新版本,点击「现在更新」后,页面加载一段时间后变空白,再次点击「现在更新」后,提示:另一更新正在进行。

这个问题已经不是第一次遇到了,上一个版本升级的时候也遇到了。那时以为是个偶然问题就没多花心思去找原因,直接下载最新版手动升级了。但这次是第二次遇到了,就没法对它视而不见了。

2

打开 Chrome DevTools 对这个升级过程进行多次分析,发现 update-core.php?action=do-core-upgrade 这个请求每次均在加载30秒左右后停止。说明 WordPress 在发起下载安装包请求后,在30秒后仍未下载完成导致请求连接中断。
解决方法也很简单,无非是以下几种:

    1. 加大带宽
    2. 减小更新包体积
    3. 加大请求响应时间

由于前两种方法适用性不是很广,所以下面的解决方案是针对第三种方法:加大请求响应时间

3

去除提示:另一更新正在进行

WordPress 在执行更新的时候数据库会生成一条记录用于防止同一时间重复更新,因此需要先把这条记录删除后下次才能在线更新。

如果用 SSH 登录服务器操作的话,执行以下命令登录 MySQL :

mysql -uroot -p //输入 MySQL root 账户密码

选择数据库,找到那条记录并删除,例如我找到的记录 option_id 是40301,那就执行:

use database;   // database 替换为你的WP数据库
select * from wp_options where option_name like '%lock%';
delete from wp_options where option_id = 40301;

加大请求响应时间

request_terminate_timeout 是 php-fpm.conf 中的一个参数,用于控制单个请求的超时中止时间,默认值30秒。

通过加大 request_terminate_timeout 的值,就可以彻底解决。执行以下命令修改:

sudo vi /etc/php5/fpm/pool.d/www.conf;  //通过 vi 编辑你的 php-fpm 配置文件

在 www.conf 找到 request_terminate_timeout 30s 这一行,值修改为300s

request_terminate_timeout 300s 

重启 php5-fpm 后配置生效

sudo service php5-fpm restart 

最后点击「现在更新」,耗时3分钟左右终于更新完毕,问题至此解决。

微信技巧:用新申请的QQ登录微信

引言

看到标题可能你会想:“我一直都是用QQ号登录微信的啊,这算什么技巧?”但我要说的是不用另外新买手机号即可用未绑定微信账号的QQ号码直接登录。
众所周知,微信现在注册只能用手机号注册,但是在微信版本5.0以前,除了用手机号注册外还可以用QQ直接登录微信。但从微信版本5.0以后就取消了这个功能,也就是说只要你在5.0版本之前没用QQ登录过微信,那就不能用QQ号直接登录,必须经过以下三步才行:

  1. 先用手机号注册一个微信
  2. 登录微信
  3. 绑定QQ号

1.准备工作

下载「阿里小号」,然后领取一个临时小号。
阿里小号每个月可免费提供一个临时手机号给你用,不过有效期只有一天。有了这个手机号之后就可以下一步了。

2.过程操作

利用申请的小号去注册微信,然后登录微信 -> 我的 -> 账号与安全 —> QQ号 -> 绑定

3.总结

  1. 借助阿里小号,申请一个临时手机号
  2. 用这个临时手机号注册微信
  3. 注册完成后登录微信绑定QQ号

4.风险提示

阿里临时小号有效期只有一天,第二天这个手机号就有可能被别人申请走,虽然在新手机上登录微信都会有安全验证防止这个情况出现,但还是存在一定的风险。而要解绑这个手机号,必须在15天后才能进行。所以对安全性要求较高的朋友,请谨慎操作。