我们目前正从Magento 1.9更改为2.3,并希望在团队中发展。使用Magento 1.9,我们可以相对简单地重写配置,以便我们可以使用相同的数据库,使用SVN对项目进行版本控制,并且每个开发人员都可以在其域中工作。例如:
现在我们已经调整了app / etc / env.php中的基本URL问题:
'system' => [
'default' => [
'system' => [
'smtp' => [
'host' => 'localhost',
'port' => '25'
]
],
'web' => [
'unsecure' => [
'base_url' => 'http://magento.tk/',
'base_link_url' => '{{unsecure_base_url}}'
],
'secure' => [
'base_url' => 'https://magento.tk/',
'base_link_url' => '{{secure_base_url}}'
],
'default' => [
'front' => 'cms'
],
'cookie' => [
'cookie_domain' => 'test'
]
],
],
到目前为止也可以,但始终仅在一个域上有效。更改env.php后,我们运行setup:upgrade,这使商店可以在本地工作,但是由于我们可能使用相同的数据库,所以我们不能由一个人进行开发,否则会出现以下错误:
1 exception(s): Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration file has changed. Run the "app:config:import" or the "setup:upgrade" command to synchronize the configuration.
其他开发者这样做时,其他所有人都可以得到。有没有办法让它在本地运行?
本地效果:
另一个问题是性能。如果我们以开发人员模式在本地或在线调用项目(由于开发而关闭了缓存),则前端和后端的加载时间会很长且很缓慢。已安装的Magento 2.3版没有安装大插件,仅安装了一个主题,但是加载时间是灾难性的-后端和前端加载都非常长,并且延迟了开发。这里有什么技巧可以使系统正常运行?
非常感谢您可能需要的任何帮助和提示:-)
答案 0 :(得分:0)
1 /方法论
由于Magento 2,您应该稍微回顾一下您的工作方法。通过更改Magento版本,您也可以将工具更改为较新的版本。
Docker 是复制开发环境的绝佳工具。
可以使用其他版本控制方法。我不知道SVN(我正在使用Git)。但在这种情况下:
我们有一个开发分支,我从事的eveyone是自己的环境和他自己的分支。
任何任务完成后,开发人员都会在自己的分支中合并dev分支以解决冲突
然后,开发人员将自己的分支合并到dev分支
2 /本地效果
我习惯于甚至将缓存用于开发……否则,表演可能会太糟糕了!
启用除Blocks HTML output
和Page Cache
当然,在更改配置,产品和类别时,您必须清除缓存。但是作为开发人员,这不是我们的工作(以及为什么不使用php bin/magento c:c;php bin/magento c:f;
CLI命令)。
有了这些简单的窍门,您将每周赚几小时