记录一下那天晚上的排查过程。文章设置了定时发布,到点没有任何反应,装了几个插件也没有好转,站点访问量低的时段尤其明显。
这类报错背后常见的原因有几处,逐个排除就行。定时任务依赖访问触发,没有流量就不会执行。还有一种是配置里禁用了内置定时任务。
不容易想到的是,服务器时间与站点时区不一致。
上来先确认定时任务是否被禁用
grep -n DISABLE_WP_CRON wp-config.php
随后用命令行手动触发一次
wp cron event run --due-now --path=/var/www/html
再往下改成系统定时任务驱动
*/5 * * * * cd /var/www/html && wp cron event run --due-now
剩下的就是确认站点时区设置
wp option get timezone_string --path=/var/www/html
命令输出我都留了记录,免得改完记不清原来的值。
别只看报错消失,验证要多做一步。定时发布按时生效,任务列表里能看到执行记录。
提醒一点。低流量站点几乎不会触发内置任务,改成系统定时任务更可靠;命令行执行要注意用站点用户身份运行。改动前把原配置备份一份,出问题能马上回滚,这比任何技巧都实用。