尝试在本地测试 WordPress 站点时出现数据库错误(由 WooCommerce 引起?)

Posted

技术标签:

【中文标题】尝试在本地测试 WordPress 站点时出现数据库错误(由 WooCommerce 引起?)【英文标题】:Database error (caused by WooCommerce?) when trying to test WordPress site locally 【发布时间】:2021-10-28 15:57:38 【问题描述】:

我有一个托管在 GoDaddy 上的 WordPress 网站,并希望在本地对其进行测试。

我将数据库导出为 SQL 格式并将其下载到本地计算机上。然后我安装了 XAMPP 并将配置文件端口从 80 更改为 8080。现在我可以在LOCALHOST:8080 而不是LOCALHOST 上打开我的本地主机。

端口更改后,我在 XAMPP 中创建了一个新目录并插入了一个 html 文件以在 LOCALHOST:8080 上进行测试。它成功了,所以我准备好传输我的 WordPress 文件了。

首先,我将所有 WordPress 文件拖放到我创建的新文件夹中。接下来,我将数据库文件导入 mysql。 最后,我尝试使用 LOCALHOST:8080/wordpress/wp-admin 访问本地的 WordPress 站点,但是当站点页面出现时,我收到一条错误消息,说我的密码或用户名不正确,打开 wp-config 文件并更新信息的广告。

我打开了wp-config 并将localhost 选项更改为localhost:8080。还更改了数据库用户名和密码。我现在可以连接到数据库,但出现错误:

Fatal error: Uncaught RuntimeException: Error saving action: Error saving action: Database error. in C:\xampp\apps\wordpress\htdocs\wp-content\plugins\woocommerce\packages\action-scheduler\classes\migration\ActionScheduler_DBStoreMigrator.php:44 Stack trace: #0 C:\xampp\apps\wordpress\htdocs\wp-content\plugins\woocommerce\packages\action-scheduler\classes\data-stores\ActionScheduler_HybridStore.php(242): ActionScheduler_DBStoreMigrator->save_action(Object(ActionScheduler_Action), NULL) #1 C:\xampp\apps\wordpress\htdocs\wp-content\plugins\woocommerce\packages\action-scheduler\classes\ActionScheduler_ActionFactory.php(177): ActionScheduler_HybridStore->save_action(Object(ActionScheduler_Action)) #2 C:\xampp\apps\wordpress\htdocs\wp-content\plugins\woocommerce\packages\action-scheduler\classes\ActionScheduler_ActionFactory.php(84): ActionScheduler_ActionFactory->store(Object(ActionScheduler_Action)) #3 C:\xampp\apps\wordpress\htdocs\wp-content\plugins\woocommerce\packages\action-scheduler\functions.php(36): ActionScheduler_ActionFactory->single('action_schedule...', Array, 1630078934, 'action-schedule...') #4 C:\xampp\apps\wordpress\htdocs\wp-content\plugins\woocommerce\packages\action-scheduler\classes\migration\Scheduler.php(89): as_schedule_single_action(1630078934, 'action_schedule...', Array, 'action-schedule...') #5 C:\xampp\apps\wordpress\htdocs\wp-content\plugins\woocommerce\packages\action-scheduler\classes\migration\Controller.php(99): Action_Scheduler\Migration\Scheduler->schedule_migration() #6 C:\xampp\apps\wordpress\htdocs\wp-includes\class-wp-hook.php(303): Action_Scheduler\Migration\Controller->schedule_migration('') #7 C:\xampp\apps\wordpress\htdocs\wp-includes\class-wp-hook.php(327): WP_Hook->apply_filters(NULL, Array) #8 C:\xampp\apps\wordpress\htdocs\wp-includes\plugin.php(470): WP_Hook->do_action(Array) #9 C:\xampp\apps\wordpress\htdocs\wp-settings.php(600): do_action('wp_loaded') #10 C:\xampp\apps\wordpress\htdocs\wp-config.php(111): require_once('C:\\xampp\\apps\\w...') #11 C:\xampp\apps\wordpress\htdocs\wp-load.php(50): require_once('C:\\xampp\\apps\\w...') #12 C:\xampp\apps\wordpress\htdocs\wp-blog-header.php(13): require_once('C:\\xampp\\apps\\w...') #13 C:\xampp\apps\wordpress\htdocs\index.php(17): require('C:\\xampp\\apps\\w...') #14 main thrown in C:\xampp\apps\wordpress\htdocs\wp-content\plugins\woocommerce\packages\action-scheduler\classes\migration\ActionScheduler_DBStoreMigrator.php on line 44

【问题讨论】:

【参考方案1】:

此问题记录在 Action Scheduler github 页面上,与内部数据库迁移和缺少表有关。

add_action( 'init', function()  delete_option( 'schema-ActionScheduler_StoreSchema' );  );

你可以在你的主题的functions.php中添加这个sn-p,访问该站点,并在错误消失后将其删除

【讨论】:

【参考方案2】:

注意:我没有足够的声誉来发表评论,所以其他人可以发表评论,我可以删除这个答案。

在我看来,用户曾经访问/连接数据库服务器,现在它可以连接,只需要授予权限来读取和写入数据库及其表进口的。

阅读 GRANT 概述部分(如果您有耐心,请阅读整个页面)https://dev.mysql.com/doc/refman/5.7/en/grant.html

并授予您在 wp-config 文件中添加的同一用户足够的权限来读取和写入数据库中的数据库/表。

尽可能具体说明,即尽可能选择用户,尽可能选择主机,尽可能选择数据库,尽可能选择表,尽可能选择权限访问(插入选择等)。 请记住,尽管其中大部分都可以使用通配符:(即 ALL、*、%)

GRANT ALL ON *.* TO 'someuser'@'%';

如果您不能足够具体,请使用通配符放松 GRANT,直到您看到某些东西正常工作,然后再次收紧。

【讨论】:

以上是关于尝试在本地测试 WordPress 站点时出现数据库错误(由 WooCommerce 引起?)的主要内容,如果未能解决你的问题,请参考以下文章

将 WordPress 从 WAMP 上传到 GoDaddy 时出现数据库错误(无法在本地访问站点)

访问本地托管的 Wordpress 站点时出现问题(重定向+其他废话)

在本地 easyphp 服务器中安装 Wordpress 时出现数据库连接错误

将新数据库和站点添加到多站点 vps 时出现“连接到数据库时出错”wordpress 错误

通过 XAMPP 在本地安装 Wordpress 时出现严重错误?

Wordpress 输入地址时出现 404 Not Found 错误