我们发现 WordPress 程序是自带定时任务的,在发布文章的时候自己设置定时时间。但是这个定时任务导致宝塔面板后台的 CPU 负载很高,尤其是我们低配置服务器的会比较明显拉低速度。那一般我们会采用禁止定时任务功能,采用人工发布功能。在测试主题在大数据、文章多情况下的运行速度时,发现会生成 PHP 错误日志:
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 行的:
foreach ( $cronhooks as $hook => $keys ) {
改为:文章源自知更鸟-https://zmingcx.com/disable-wordpress-for-cron-jobs.html
if ( is_array( $cronhooks ) ) foreach ( $cronhooks as $hook => $keys ) {
即可禁止生成这个错误信息。
section
二、禁用定时功能,打开 WordPress 配置文件 wp-config.php 添加:
/** 禁用定时 */
define('DISABLE_WP_CRON', true);
即可禁用定时功能。另外,这个定时功能非常消耗资源,会出现 cpu 占用 100%的情况,造成宕机。如果你的主机经常因资源耗尽被停机,罪魁祸首有可能就是这个。禁用定时任务将减少 CPU 压力。如果我们需要使用定时任务,我们可以使用定时任务插件。或者我们可以不使用定时任务手动发布文章,因为定时任务会定时检测是否发布,会占用 CPU 资源。
所以不使用定时功能,第二种方法直接禁用。
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!