服务器时区不对,导致WordPress的定时发布功能失效/一直卡在已计划中

原创 野人  2022-04-11 15:51  阅读 71 次

这段时间,发现衡天主机,不稳定,维护也不提前通知,真的是闹心,糟心的狠,我都懒得说它了。

事情是这样的,昨天我写文章写到一半,发现不会自动保存草稿了,一开始我还以为是我代理的节点出了问题,虽后我才知道,是网站的服务器挂了,然后我就跑去问衡天主机的客服,收到的回复是(懒得打字,直接看图吧)

我就想问下,临时/紧急升级发个通告很难吗?很快是有多快?反正很无语,当然了,实际恢复还不止半个小时,不说了,都是累,及时保存吧。

为什么会提到这件事呢,因为就是它们升级后导致服务器的时区不对了,然后就导致WordPress的定时发布功能失效/一直卡在已计划中。

当然了,起初我是怀疑WordPress的问题,但是一顿排除后,发现并不是WordPress,我错怪它了,呜呜呜。

我的排查方法有:

1、查看网站后台——设置——常规——时区,查看下是否选择为【上海】,如果不是的话,自己勾选成【上海】,让回到文章页测试下发布可以发布了。

2、直接写个PHP测试demo:

<?php
echo date_default_timezone_get(); //可以先获取下当前的时区在哪里?
date_default_timezone_set('Asia/Shanghai'); //设置当前的时区为上海
echo date('当前时间为:' . 'Y-m-d H:i:s', time()); //输出服务器时间是否与当前时间一致
?>

上面代码排查下来,基本就可以断定是哪里的问题了?像我是测试出来是他们服务器的问题,只好求助于他们了,如果你跟我一样是使用这类的服务器虚拟化开的虚拟主机接下来就不要自己折腾了,直接求助于他们了。

如果不是的话,你们则要自己修改相应的php.ini文件中的date.timezone属性为Asia/Shanghai,修改完,记得重启下哦。

2023.11.12更新

因个人原因,我在根目录的wp-cron.php文件中设置了define('DISABLE_WP_CRON', true);关闭了定时任务功能,所以导致定时发布失效。

当然我进行关闭是有原因的,原先的定时任务功能触发是需要当用户访问网站的时候进行触发,可是对于没什么访问量的站点来说,等触发都不知道啥时候了,其次我的站点做了CDN没回源也触发不了。

那对应的解决方法就很简单了,就是我在服务器那边手动设置个定时任务,相关内容如下:

wget https://你的网址.com/wp-cron.php?doing_wp_cro,请注意替换成自己的网址哈。

然后我又做了另外个动作,就是配置服务器hosts文件,直接写死自己源站的地址,减少CDN的消耗,操作如下:

1、vi /etc/hosts

2、然后添加如下内容

ip地址 你网站的域名

本文地址:https://www.yerenwz.com/6104.html
版权声明:本文为原创文章,版权归 野人 所有,欢迎分享本文,转载请保留出处!

发表评论