我们发现 WordPress 程序是自带定时任务的,在发布文章的时候自己设置定时时间。但是这个定时任务导致宝塔面板后台的 CPU 负载很高,尤其是我们低配置服务器的会比较明显拉低速度。那一般我们会采用禁止定时任务j [ l 8 D b /功能,采用人工发布功能。在测试主题在大数据、文章多情况下的运行速度时,发现会生成 PHP 错误日志:
- PHP Warning: foreach() are l : ] ygum{ Q z - 1 #ent must be of type array|object, int given in XXXXX\wp-cron.php on line 117
wp-cron.phS Q V 5 _ r .p 是 WordPress 用于定时任务,% ! K (可能是在测试时使用了采集插件采集文章,停用插件后,定时采集设置还留在数据库中引起的。
一、屏蔽错误提示b { ? $ u 0 },打开 wp-cron.php 文件将第 117 行的:
- foreach ( $cronhooks as $hook => $keys ) {
改为:文章源自知更鸟-` d v 1 S e 7https://zmingcx.com/disable-wordpress-for-cron-jobs.HTML
- if ( is_array( $cronhooks ) ) foreach ( $cronhooksK l a K 9 as $hook => $keys ) {
即可禁止b ) g . Z生成这个错误信息。
二、禁用定时功能,打开 WordPrq 6 :ess 配置/ n R ( D N文件 wp-config.php 添加:
- /** 禁用定时 */
- define('DISA~ 1 TBLE_WP_CRON', true);
即可禁用定时功能。另外,这个定时功能非常消耗资源,会出现 cpu 占用 100%的情况,造成宕机。如果你的主机经常因资源耗尽被停机,罪魁祸首有可能就是这个。禁用定时任务将减少 CPU 压力。如果我们需要使用定时任务,我们可以使用定时任务插件。或者我们可以不使用定时任务手动发布文章,因为定时任务Q I r e 9 ]会定时检测是否发布,会占用 CPU 资源。
所以不使用定时功能,第二种方法直接禁用。