WordPress教程

禁止WordPress定时任务解决占用CPU资源问题

阿里云

我们发现 WordPress 程序是自带定时任务的,在发布文章的时候自己设置定时时间。但是这个定时任务导致宝塔面板后台的 CPU 负载很高,尤其是我们低配置服务器的会比较明显拉低速度。那一般我们会采用禁止定时任务功能,采用人工发布功能。在测试主题在大数据、文章多情况下的运行速度时,发现会生成 PHP 错误日志:

  1. PHP Warning:  foreach() argument must be of type array|object, int given in XXXXX\wp-cron.php on line 117
也想出现在这里?联系我们
创客主机

wp-cron.php 是 WordPress 用于定时任务,可能是在测试时使用了采集插件采集文章,停用插件后,定时采集设置还留在数据库中引起的。

section

一、屏蔽错误提示,打开 wp-cron.php 文件将第 117 行的:

  1. foreach ( $cronhooks as $hook => $keys ) {

改为:文章源自知更鸟-https://zmingcx.com/disable-wordpress-for-cron-jobs.html

  1. if ( is_array( $cronhooks ) ) foreach ( $cronhooks as $hook => $keys ) {

即可禁止生成这个错误信息。

section

二、禁用定时功能,打开 WordPress 配置文件 wp-config.php 添加:

  1.     /** 禁用定时 */
  2.     define('DISABLE_WP_CRON', true);

即可禁用定时功能。另外,这个定时功能非常消耗资源,会出现 cpu 占用 100%的情况,造成宕机。如果你的主机经常因资源耗尽被停机,罪魁祸首有可能就是这个。禁用定时任务将减少 CPU 压力。如果我们需要使用定时任务,我们可以使用定时任务插件。或者我们可以不使用定时任务手动发布文章,因为定时任务会定时检测是否发布,会占用 CPU 资源。

所以不使用定时功能,第二种方法直接禁用。

禁止 WordPress 定时任务解决占用 CPU 资源问题

已有 256 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!