【问题标题】:WordPress regularly produces errors for cron.php, class-wp-hook.php and update.phpWordPress 经常为 cron.php、class-wp-hook.php 和 update.php 产生错误
【发布时间】:2026-01-25 04:25:01
【问题描述】:

对于一个客户,我在 WordPress 中建立了一个网站。该网站被黑客入侵并感染了恶意代码,因此我重新上传了所有 WordPress 文件和主题文件,更改了所有密码,安装了安全插件并运行了几次病毒扫描以删除每一行代码,这很可疑.执行此操作后网站正常运行,但现在我收到以下错误:

Warning: Cannot call assert() with string argument dynamically in /mnt/web107/d1/74/58360774/htdocs/wp-includes/cron.php on line 1 Warning: call_user_func_array() expects parameter 1 to be a valid callback,
function 'wp_cron' not found or invalid function name in /mnt/web107/d1/74/58360774/htdocs/wp-includes/class-wp-hook.php on line 286
Fatal error: Uncaught Error: Call to undefined function wp_next_scheduled() in /mnt/web107/d1/74/58360774/htdocs/wp-includes/update.php:710 Stack trace: #0 /mnt/web107/d1/74/58360774/htdocs/wp-includes/class-wp-hook.php(286): wp_schedule_update_checks('')
#1 /mnt/web107/d1/74/58360774/htdocs/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array)
#2 /mnt/web107/d1/74/58360774/htdocs/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#3 /mnt/web107/d1/74/58360774/htdocs/wp-settings.php(450): do_action('init') 
#4 /mnt/web107/d1/74/58360774/htdocs/wp-config.php(126): require_once('/mnt/web107/d1/...')
#5 /mnt/web107/d1/74/58360774/htdocs/wp-load.php(37): require_once('/mnt/web107/d1/...')
#6 /mnt/web107/d1/74/58360774/htdocs/wp-blog-header.php(13): require_once('/mnt/web107/d1/...')
#7 /mnt/web107/d1/74/58360774/htdocs/index.php(22): require('/mnt/web107/d1/...')
#8 {main} thrown in /mnt/web107/d1/74/58360774/htdocs/wp-includes/update.php on line 710 

奇怪的是,当出现错误时,我只需要重新上传所有的 WordPress 核心文件,网站又可以正常运行几个星期,但错误又出现了。

谁能解释一下导致这些错误的原因以及如何解决这些错误?我用谷歌搜索了错误,但找不到修复程序。

【问题讨论】:

  • 我很好奇,你运行的是什么版本的 Wordpress
  • 最新版本 (v 4.9.1)。主题和所有插件也更新到最新版本,PHP是v 7.2

标签: php wordpress error-handling cron updates


【解决方案1】:

检查你的服务器的 cron 任务,它一定是在那里尝试执行某些东西,这就是导致错误的原因。

很抱歉没有更具体,但每个托管公司都有自己的面板。

问候, 丹尼尔

【讨论】:

  • 我今天打电话给我的主机,他告诉我我的主机包不包含任何 cron 任务。错误出现在 WordPress 文件中。数据库也会产生这些错误吗?
  • 是的!它存储在表 wp_options 内的数据库中,在 option_name cron 下。
  • 我将旧版本的数据库与当前版本进行了比较,但没有发现任何可疑之处。你有什么其他建议我现在可以做什么?
  • 问题是,当您安装新站点时,您是否导入了旧数据库?可能你可以制作一个新的,并通过 Wordpress 导入器导入旧的数据,而不是直接从旧数据库导入另一个选项是插件导致问题(我怀疑),所以禁用插件直到错误消失。除了这 2 个选项,我想不出别的了
  • 那么@Mario,这个问题解决了吗?选择一个“有效”的答案作为解决方案总是好的。