【问题标题】:Magento Error Log - 'core_store' doesn't exist in /mysite/lib/Zend/Db/Statement/Pdo.phpMagento 错误日志 - /mysite/lib/Zend/Db/Statement/Pdo.php 中不存在“core_store”
【发布时间】:2014-06-06 12:57:53
【问题描述】:

类似的问题已在以下位置提出:

Magento - Base Table core_file_storage Doesn't exist

但是,它指的是文件“core_file_storage”,而我的指的是“core_store”。我试图为这个已经存在的问题添加评论,但我没有足够的声誉点来这样做。我试图弄清楚如何将我的问题添加到现有问题中,但我没有运气。如果我通过创建一个新问题做错了事,我很抱歉,但答案并不能解决我的问题。请告诉我是否有正式的方式可以让我添加到现有问题中,我会这样做,尽管我的问题略有不同,所以可能需要一个新问题。

问题: 我对文件和数据库有非常基本的了解。这是我第一次遇到错误日志文件。基本上我的网站在我的实时服务器上运行良好,但是当我试图将它移动到我的本地服务器 (MAMP) 时,我收到一个错误,我的网站将无法运行。我查看了错误日志,它显示以下内容:

[14-Apr-2014 16:50:01 UTC] PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘mysite.core_store' doesn't exist' in /home/mysite/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /home/mysite/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /home/mysite/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /home/mysite/lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /home/mysite/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /home/mysite/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT `main_ta...', Array)
#5 /home/mysite/lib/Varien/Db in /home/mysite/lib/Zend/Db/Statement/Pdo.php on line 234

此错误在我的错误日志中不断重复。

我的网站在 Magento 上运行,主题为 Magento。在此之前它工作正常,将它移动到我的本地服务器(MAMP)时我没有任何问题。我认为可能导致此问题的唯一更改是当我试图加速我的网站时。

我通过从网站文件夹中删除不再使用的图像以及删除我购买但我不使用的主题附带的 Magento 商店来做到这一点。错误是针对文件“core_store”的事实,它向我表明这可能与我删除的商店有关,但是在删除商店后,该站点继续在我的实时服务器上运行。我认为这可能与我从文件夹中删除不再使用的图像有关,因为在另一个问题上,有人回答说“'core_file_storage'表用于存储每个产品的上传图像”。

我搜索了 Google 试图获取有关 Magento 中 'core_store' 表的作用的信息,但所有结果都与 'core_store' 问题有关,而不是解释 'core_store' 是什么。如果有人能告诉我“core_store”表在 Magento 中的作用,也许我可以帮助提供有关该问题的更多信息。

谢谢

【问题讨论】:

    标签: php magento


    【解决方案1】:

    我遇到了同样的问题并通过以下查询解决:

    首先,如果您还没有 core_directory_storage,请运行:

    CREATE TABLE `core_directory_storage` (
      `directory_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(255) NOT NULL DEFAULT '',
      `path` VARCHAR(255) NOT NULL DEFAULT '',
      `upload_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `parent_id` INT(10) UNSIGNED NULL DEFAULT NULL,
      PRIMARY KEY (`directory_id`),
      UNIQUE INDEX `IDX_DIRECTORY_PATH` (`name`, `path`),
      INDEX `parent_id` (`parent_id`),
      CONSTRAINT `FK_DIRECTORY_PARENT_ID` FOREIGN KEY (`parent_id`) REFERENCES `core_directory_storage` (`directory_id`) ON UPDATE CASCADE ON DELETE CASCADE
    ) COMMENT='Directory storage' COLLATE='utf8_general_ci' ENGINE=InnoDB ROW_FORMAT=DEFAULT;
    

    然后,运行:

    CREATE TABLE `core_file_storage` (
      `file_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
      `content` LONGBLOB NOT NULL,
      `upload_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `filename` VARCHAR(255) NOT NULL DEFAULT '',
      `directory_id` INT(10) UNSIGNED NULL DEFAULT NULL,
      `directory` VARCHAR(255) NULL DEFAULT NULL,
      PRIMARY KEY (`file_id`),
      UNIQUE INDEX `IDX_FILENAME` (`filename`, `directory`),
      INDEX `directory_id` (`directory_id`),
      CONSTRAINT `FK_FILE_DIRECTORY` FOREIGN KEY (`directory_id`) REFERENCES `core_directory_storage` (`directory_id`) ON UPDATE CASCADE ON DELETE CASCADE
    ) COMMENT='File storage' COLLATE='utf8_general_ci' ENGINE=InnoDB ROW_FORMAT=DEFAULT;
    

    【讨论】:

      【解决方案2】:

      core_store 是一个非常简单的表,与许多其他表一样,是由 Magento 在安装过程中设置的。它将网站/商店 ID 编号和名称分配给您的管理和前端区域。

      您说您正在尝试将商店移动到本地服务器。在这种情况下经常发生的情况是您的 Magento local.xml 文件(位于 Magento 根目录的 app/etc 中)需要更新以反映您的新数据库用户名、密码和表前缀。 Magento 从此文件中提取信息以连接到您的数据库。 (顺便说一句,请始终确保此文件不能被公开访问)

      您能否浏览您的本地数据库以验证core_store 确实存在?

      【讨论】:

      • 感谢您的回复。是的,我浏览了我的本地数据库并且“core_store”确实存在。我已经对 local.xml 文件进行了更改,每次我将站点移动到本地服务器时都会进行这些更改。我更改了“用户名”、“密码”和“数据库名”。我以前从未更改过'table_prefix'?因此,基于我们知道“core_store”表在数据库中并且 local.xml 文件已被适当编辑的事实,我们可以从这里找出我收到此错误的原因吗?再次感谢您的帮助。
      • 除了config.xml 之外,app/etc 中还有其他 .xml 文件吗? Magento 将所有的 XML 文件放在一起,所以如果你有 local.xml 的备份副本或类似的东西,它可能会抓取它并使用错误的设置。
      • 再次感谢唐的回复。我查了一下,没有只有local.xml和config.xml。您认为这与我从网站文件夹中删除旧图像或删除上面提到的未使用的商店有关吗?
      • 我对此表示怀疑,因为您说该表本身仍然存在,并且错误消息是关于它无法找到该表。如果local.xml 中的所有内容都与您的数据库正确设置,Magento 应该能够找到该表,所以我有点难过。
      猜你喜欢
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      相关资源
      最近更新 更多