我们有一个 Magento 存储设置并在版本控制下,我们想设置一个使用相同代码但不同连接细节的临时存储。例如,实时存储的实时详细信息和用于暂存的暂存数据库。
Magento可以做到这一点吗,默认情况下似乎没有办法做到这一点?
我们有一个 Magento 存储设置并在版本控制下,我们想设置一个使用相同代码但不同连接细节的临时存储。例如,实时存储的实时详细信息和用于暂存的暂存数据库。
Magento可以做到这一点吗,默认情况下似乎没有办法做到这一点?
有很多方法,不需要额外扩展的最简单的方法之一是
-> 创建
并且不要版本控制 local.xml
并在每个环境中对正确的文件进行符号链接,这样您就可以将所有连接信息保存在 svn 或 git 中,
汤姆,
由于您使用的是版本控制,我建议您不要为登台和生产使用相同的文件。这通常是个坏主意。理想情况下,您应该有一个不同的登台和生产环境,两者都有自己的文件集和自己的数据库。这样,您就不必担心现在遇到的障碍。
我不得不这样做很多次。我几乎使用了这里列出的相同建议,但总结一下......
/app/etc/local.xml
在版本控制中,我保留这些文件,每个文件都有自己的数据库和缓存数据。这些是原始 local.xml 文件的修改副本: - app/etc/production.local.xml - app/etc/staging.local.xml - app/etc/my-dev.local.xml
安装创建的local.xml文件被删除。它被替换为每个环境中相应文件的软链接 local.xml:
cd app/etc
ln -s production.local.xml local.xml
管理不同数据库的注意事项:
然后我通常会创建一个名为 /sql 的新根级目录,并在其中保存类似这些用于设置备用环境的脚本:
createdb.sql 以 MySQL 管理员用户身份运行,只设置数据库和用户。
create schema magentoschema; create user magentouser;
grant all on magentoschema.* to 'magentouser'@'localhost';
set password for 'magentouser'@'localhost' = password('secret');
创建数据库后,您可以转到原始安装并获取数据库的 mysqldump:
mysqldump -u magentouser -p -h your.host.name magentoschema > magento.dump.sql
然后将其安装到您正在工作的任何环境中:
mysql -u magentouser -p -h localhost magentoschema < magento.dump.sql
然后,您需要更改 core_config_data 中的主机名(可能还有其他一些参数)。最基本的看起来像这样:
update core_config_data set value='http://staging.yourstore.com/' where config_id in (3,4);
您需要检查您的 Magento 安装以查看路径列中带有 web/secure/base_url 和 web/unsecure/base_url 的条目的 config_id 是什么。很简单,只需要在数据库上做这样的查询:
select * from core_config_data where value like 'http%';
因此,为每个环境创建具有正确主机名的* .setup.sql 文件,并在 mysql 中运行脚本,就像加载数据库一样:
mysql -u magentouser -p -h localhost magentoschema < staging.setup.sql
祝你好运!
我为您编写了一个指南,用于解释使用 Magento 和 SVN 设置登台/开发/实时环境的过程
http://www.sonassi.com/knowledge-base/staging-development-live-svn-with-magento/
使用 Magento 可以轻松复制商店以进行开发。
当您在版本控制中拥有代码时,您只需按照以下步骤操作:
1) 创建一个备份数据库,将其导出为 SQL。2) 对文件运行搜索和替换,将 yourwebsite.com 替换为 stage.yourwebsite.com 3) 将新数据库导入 MySQL。
4) 将文件从版本控制签出到您的登台站点文档根目录。5) 修改 app/etc/local.xml - 将数据库设置更改为您的新数据库和用户名/密码。6) 清空 var/cache/ 和 var/session 文件夹(希望您从未将它们添加到您的版本控制系统中)。
任务完成。:-)
按照此处的说明操作 http://www.magentocommerce.com/wiki/groups/227/moving_magento_to_another_server
在您的机器上设置 wamp 或 zend 服务器后,将您的生产环境移动到本地机器上。
为此,您需要在登台机器上运行某种本地服务器(不需要是服务器,也可以使用您的笔记本电脑)
对于分期设置:
baseurl 和securebaseurl 设置在登台站点的后端,使用“localhost”并将登台环境托管在您自己的机器上(您可以根据您的操作系统使用在您的机器上运行的zend服务器或wamp/lamp来做到这一点,而不是复制整个事情都交给你的登台机器)
你可以这样做。
您需要关注 etc 文件夹中的 local.xml 并相应地设置 db 设置。
还要更改 core_config_data 表中的安全和非安全基本 url 字段值。
不确定这是否可能。
您能否创建一个带有 IF 语句的 PHP 文件,然后该文件将回显环境的相关 XML。然后,您必须通过 .htaccess 将其作为 local.xml 进行访问。
完成此操作后,请确保它不能从外部世界获得。