Php 每个服务器的magento资源连接

Php 每个服务器的magento资源连接,php,magento,Php,Magento,有没有办法让magento根据运行它的服务器选择它连接到的数据库 所以我不必一直改变一切 IE:开发、登台、生产?您可以在不接触核心文件的情况下完成。在index.php中,您可以看到最后一行:Mage::run($mageRunCode,$mageRunType)。这里有第三个参数,因此您可以尝试以下操作: $params = array ( 'options' => array( 'etc_dir' => 'your_dir' ) ); Mage:

有没有办法让magento根据运行它的服务器选择它连接到的数据库

所以我不必一直改变一切


IE:开发、登台、生产?

您可以在不接触核心文件的情况下完成。在
index.php
中,您可以看到最后一行:
Mage::run($mageRunCode,$mageRunType)。这里有第三个参数,因此您可以尝试以下操作:

$params = array (
    'options' => array(
        'etc_dir' => 'your_dir'
    )
);
Mage::run($mageRunCode, $mageRunType, $params);

但在这种情况下,您需要为每个服务器单独设置etc文件夹。可能这不是您想要的。

您是否有办法在部署过程中排除local.xml?可能重复:。这是一种dup,但我肯定不需要3个单独的文件,您应该能够使用XML将所有内容填充到一个文件中,然后进行简单的服务器/环境名称查找,以确定要加载的配置,然后使用正确的数据库配置。也许您可以找到所有硬编码的
local.xml
事件所使用的单一方法。我从来没有分析过。如果它们都基于
Mage\u Core\u Model\u Config\u Base
,那么可以归结为对
::\u xml->global->resources->default\u setup->connection->host
节点有条件地分配适当的值。这是一个很好的洞察-我不知道这个特性,但不是100%我想要的。我可能必须尝试编写一个扩展或其他不会破坏升级和处理我所寻找的内容的东西。我想知道是否有其他人正在寻找此功能?人们在运行CI服务器时如何处理这种情况?或者在生产过程中使用多个环境?我们在CI服务器上使用teamcity。我们有
local.xml.ci
文件,并将其复制到ant构建脚本中的
local.xml
。我认为这比在相同的
local.xml
中设置3台服务器要好。