在测试主题在大数据、文章多情况下的运行速度时,发现会生成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用于定时任务,可能是在测试时使用了采集插件采集文章,停用插件后,定时采集设置还留在数据库中引起的。


解决办法:

方法一、屏蔽错误提示

打开wp-cron.php文件将第117行的:

  • foreach ( $cronhooks as $hook => $keys ) {

改为:

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

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


方法二、禁用定时功能

打开WordPress配置文件wp-config.php添加:

  • /** 禁用定时 */

  • define('DISABLE_WP_CRON', true);

即可禁用定时功能。

另外,这个定时功能非常消耗资源,会出现cpu占用100%的情况,造成宕机。如果你的主机经常因资源耗尽被停机,罪魁祸首有可能就是这个。所以不使用定时功能,第二种方法直接禁用。