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

我们发现 WordPress 程序是自带定时任务的,在发布文章的时候自己设置定时时间。但是这个定时任务导致宝塔…

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

  1. PHP Warning:  foreach() argument must be of type array|object, int given in XXXXXwp-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教程

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册