WordPress 数据库错误 命令不同步;
Posted
技术标签:
【中文标题】WordPress 数据库错误 命令不同步;【英文标题】:WordPress database error Commands out of sync; 【发布时间】:2019-12-05 11:19:32 【问题描述】:我制作了一个 Wordpress 插件,可以将一些产品(几百个)从 API 导入到 Woocommerce。问题是大约 10 分钟后(最大执行时间设置为无限制)我多次收到此错误,但 option_name 不同(属性有一些分类法):
WordPress database error Commands out of sync; you can't run this command now for query SELECT autoload FROM wp_options WHERE option_name = '_transient_wc_layered_nav_counts_pa_tehnologii-display' made by shutdown_action_hook, do_action('shutdown'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Cache_Helper::delete_transients_on_shutdown, delete_transient, delete_option
在其他时刻,正在导入产品的工作正在停止,没有任何错误消息。
我在其他主机上试过这个插件,没有问题。 有什么想法吗?
【问题讨论】:
试试这个:core.trac.wordpress.org/ticket/31245#comment:57 似乎相关 您找到解决方案了吗?如果你这样做了,请在这里分享 【参考方案1】:这是缓存插件错误,请尝试清除缓存以查看是否有帮助。否则完全卸载并重新安装缓存插件,也许这会起作用。它是由插件在数据库查询中留下混乱或未正确关闭引起的。
另外值得注意的是,如果您的主机为您提供缓存功能,并且您可以安全地禁用 wordpress 缓存插件。
【讨论】:
其实也不是一直出现,也不知道什么时候出现这个错误!【参考方案2】:就我而言,这是因为我在开发my own WP+React template 时mysqli_query
和mysqli_multi_query
之间的冲突。
根据this doc和this question,可能会导致“同步命令”错误。
在 WordPress 数据库类中,wpdb
、it uses mysqli_query
。我使用mysqli_multi_query
作为我的 SQL 代码。他们正是导致上述 2 个文档中的问题。
文档中也描述了解决方案。
我通过添加以下行来修复它:
$result = mysqli_multi_query($wpdb->dbh, $sql);
while(mysqli_next_result($wpdb->dbh)); // flush multi queries.
ps。我还了解到,当错误消息以“WordPress 数据库错误”开头时,这意味着错误来自数据库端(mysql),而不是 WordPress 端。 Check this code。使用 mysql
关键字搜索错误消息会很有帮助。
【讨论】:
以上是关于WordPress 数据库错误 命令不同步;的主要内容,如果未能解决你的问题,请参考以下文章