wordpress - 尝试在本地测试 WordPress 站点时出现数据库错误(由 WooCommerce 引起?)
问题描述
我有一个托管在 GoDaddy 上的 WordPress 网站,并希望在本地对其进行测试。
我将数据库导出为 SQL 格式并将其下载到本地计算机上。然后我安装了 XAMPP 并将配置文件端口从 80 更改为 8080。现在我可以打开我的 localhostLOCALHOST:8080
而不是LOCALHOST
.
端口更改后,我在 XAMPP 中创建了一个新目录并插入了一个 HTML 文件以在LOCALHOST:8080
. 它奏效了,所以我准备好传输我的 WordPress 文件了。
首先,我将所有 WordPress 文件拖放到我创建的新文件夹中。接下来,我将数据库文件导入 MySQL。最后,我尝试使用 访问我本地的 WordPress 网站LOCALHOST:8080/wordpress/wp-admin
,但是当网站页面出现时,我收到一条错误消息,说我的密码或用户名不正确,打开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
解决方案
注意:我没有足够的声誉来发表评论,所以其他人可以发表评论,我可以删除这个答案。
在我看来,用于访问/连接数据库服务器的用户现在可以连接,只需要被授予读取和写入数据库以及您导入的表的权限即可。
阅读 GRANT 概述部分(如果你有耐心,可以阅读整个页面)https://dev.mysql.com/doc/refman/5.7/en/grant.html
并授予您在 wp-config 文件中添加的同一用户足够的权限来读取和写入数据库中的数据库/表。
在哪里可以具体说明,即如果可能,选择用户,如果可能,选择主机,如果可能,选择数据库,如果可能,选择表,如果可能,选择权限访问(插入选择等)。请记住,尽管其中大部分都可以使用通配符:(即 ALL、*、%)
GRANT ALL ON *.* TO 'someuser'@'%';
如果您不能足够具体,请使用通配符放松 GRANT,直到您看到某些工作正常,然后再次收紧它们。
推荐阅读
- python - 用beautifulsoup和python抓取按钮点击时取消隐藏的文本?
- node.js - 循环前执行脚本(Heroku node.js discord bot)
- apache-kafka - 获取每个组的 Kafka 消耗时间
- javascript - 如何为启动时间过长的 create-react-app 启用 eslint 缓存?
- port - Artifactory 7.21.12 URL 从 8081 重定向到 8082
- python - 如何在 Django 中检查模型对象是否存在 30 天?
- javascript - 如何从渲染方法中的其他组件调用方法
- java - Java通过给定的日期名称获取日期
- linear-algebra - 在 Simulink 中实时求解 occtic 方程的算法
- csv - 查询(类似 SQL 的连接)远程 CSV 以进行数据分析