首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存Magento数据库IP

缓存Magento数据库IP
EN

Stack Overflow用户
提问于 2013-01-24 17:59:58
回答 1查看 1.1K关注 0票数 5

对于我们的开发和生产环境,我们有不同的数据库IP地址。我们的开发环境在我们的开发人员机器上本地运行,并且指向本地网络上的单个开发数据库服务器。我们的生产环境使用RackSpace托管的数据库,并托管在它们的本地网络上。不知何故,我们的开发IP地址似乎已经缓存在生产上了。以下是我迄今所做的工作:

  • 验证生产时app/etc/local.xml中的IP地址是否正确。
  • 删除var/cache/*和var/full_page_cache/*的内容
  • 重新启动memcached服务器以清除任何奇怪的缓存。
  • 为dev IP地址提供了完整的代码基。
  • 转储mysql数据库并为dev IP进行转储(我们当时非常绝望)
  • 删除了/tmp的内容
  • 禁用自定义模块

这已经持续了几个星期了,没有问题。当我禁用配置缓存时,问题就开始了。我知道你在想什么,它最近终于得到了一个配置更改,这是自上次缓存被清除以来有人所做的。这事儿可以理解。没有意义的是,我已经清除了上面提到的每个缓存、使用MageTool启用配置缓存和所有的东西,就像一种魅力。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-24 17:59:58

事实证明,整件事的解决是一个两步的过程。

因为我们的生产和开发环境需要不同的it,所以app/etc/local.xml是不被跟踪的,因此我们跟踪app/etc/local-example.xml,这样我们的所有开发人员就可以快速、轻松地将它复制到app/etc/local.xml上,并启动和运行。这已经成为一个公司的标准,我们使用它在我们所有的其他项目。谢天谢地,我的一个同事发现

所以,不,我们的开发IP不是神奇地缓存在某个疯狂的、模糊的位置,我们只是无意中加载了它。将该文件重命名为app/etc/local.xml.example后,它停止引用我们的开发IP。耶!

现在,这与这个问题没有直接关系,但是因为这个解决方案引入了一个新的bug,所以我想提一下。一旦我们重命名了xml文件并清除了所有缓存,我们就开始看到一个新的错误。

PHP Fatal error: Call to a member function setQueryHook() on a non-object in app/code/core/Mage/Core/Model/Resource/Setup.php on line 347

在我们的示例文件中,我们在单个<default_setup />节点中定义了数据库资源。对于我们的生产环境,我们实际上有三重设置,它有单独的IP来进行读写查询,所以对于生产来说,我们有<default_read /><default_write />节点,而不是单个<default_setup />节点。我从未能够找到关于资源中所允许和需要的内容的文档,但是读/写拆分是在每个关于该主题的另一篇StackOverflow文章中的说明中设置的,直到今天,它一直运行得很好。

凭直觉,我将<default_write />节点重命名为<default_setup />,一切都神奇地又开始工作了。我还不确定读和写是否正确地分开,但我将更新这个答案,一旦我确认一切正常。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14507736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档