2010-01-05 54 views
0

我正在致力于基于MagentoCommerce的电子商务。我使用3种环境:dev(在本地计算机上),分段和生产(都在我的专用服务器上)。MagentoCommerce开发环境域问题

问题是,当我想从本地切换到登台时,我必须编辑我的主机文件以将Magento使用的域指向我的服务器的IP。然而,这很费时间,我想知道其他magento开发人员使用什么策略作为策略,在从环境切换到另一个环境时,并不总是必须更改hosts文件。另外,当我的电子商务投入生产时,我将不得不在同一个IP上处理2个环境。

如果Magento只在一个文件中有硬编码域,那么最好的办法是。这样我可以在每个环境中保留不同的配置文件。是这样吗?否则,哪些地方是域名“硬编码”?

回答

3

我在生产服务器上运行Magento,并在一些开发和测试域中运行。

该域未在任何文件中进行硬编码 - 该域全部位于数据库中。

当您从服务器移到服务器时,您必须更改安全基础url和不安全的基础url。这两个都存储在数据库中,并可以在基于Web的管理界面中进行更改。将数据库从一台主机移动到另一台主机时,我使用的脚本几乎没有更新这些值。以下是您需要更新这些值的SQL:

update core_config_data 
set value='http://whatever.com/' 
where path='web/unsecure/base_url'; 

update core_config_data 
set value='https://whatever.com/' 
where path='web/secure/base_url'; 

您可能还想关注配置数据库连接的local.xml文件。我相信你会希望有不同的实例使用不同的数据库。在我的配置中,我将该文件从源代码管理中删除,并为每个实例配置一次。

+0

+1这也是我这样做的方式。您可能需要编写脚本的其他配置项目是Paypal和Google设置(我已将这些设置设置为dev中的测试服务器,但在推送时显然需要是真实的) – Paolo 2010-01-05 09:38:17