[仅限PaaS]{class="badge informative" title="仅适用于云项目(Adobe管理的PaaS基础架构)和内部部署项目上的Adobe Commerce 。"}
使用共享配置的示例
此示例说明如何在开发系统中更改以下设置,在生成系统中更新共享配置文件config.php,以及在生产系统中实施相同的设置:
- 时区
- 重量单位
这些设置可在 商店 >设置> 配置 >常规> 常规 中的管理员中使用。
您可以使用相同的过程来配置以下引用中的任何非敏感、非系统特定的设置:
开始之前
在开始之前,请按照开发、生成和生产系统的先决条件中所述设置文件系统权限和所有权。
假设
本主题提供了修改生产系统配置的示例。 您可以根据需要选择不同的配置选项。
在本例中,我们假定:
- 您使用Git源代码控制
- 开发系统在名为
mconfig的Git远程存储库中可用 - 您的Git工作分支名为
m2.2_deploy
步骤1:在开发系统中设置配置
要在开发系统中设置时区和重量单位,请执行以下操作:
-
登录到管理员。
-
单击“存储”>“设置”>“配置”>“常规”>“常规”。
-
在右窗格中,展开 区域设置选项。
下图显示了一个示例。
-
从 时区 列表中,单击 GMT+00:00 (UTC)。
-
清除 重量单位 字段旁边的 使用系统值 复选框。
-
从 重量单位 列表中,单击 公斤。
-
单击 保存配置。
-
如果出现提示,请刷新缓存。
第2步:更新共享配置
在开发系统中生成共享配置文件app/etc/config.php,并使用源代码管理将其传输到生成系统,如本节所述。
要更新配置:
-
以文件系统所有者的身份登录开发系统,或切换到文件系统所有者。
-
更改为应用程序根并运行dump命令。
code language-bash cd <Magento root dir> php bin/magento app:config:dump例如,如果
/var/www/html/magento2中安装了Commerce,请输入:code language-bash cd /var/www/html/magento2 php bin/magento app:config:dump -
确认
app/etc/config.php已更新。code language-bash git status示例响应:
code language-none On branch m2.2_deploy Changed but not updated: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: app/etc/config.phpnote warning WARNING 请_不_将对 generated、pub/media或pub/static目录的更改提交到源代码管理。 您可以在生成系统上生成这些文件。 开发系统可能具有代码、主题等,尚未准备好用于生产系统。 -
仅将您对
app/etc/config.php的更改签入到源代码管理。code language-bash git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
步骤3:更新构建系统并生成文件
现在,您已将共享配置的更改提交到源代码管理,您可以在构建系统中提取这些更改,编译代码并生成静态文件。 最后一步是将这些更改拉入您的生产系统。 因此,生产系统的配置将与开发系统匹配。
要更新生成系统:
-
以文件系统所有者的身份登录到构建系统。
-
切换到应用程序根目录。
code language-bash cd <Magento root dir> -
将更改从源代码管理拉入
app/etc/config.php。code language-bash git pull mconfig m2.2_deploy -
编译代码。
code language-bash bin/magento setup:di:compile -
编译代码后,生成静态视图文件。
code language-bash bin/magento setup:static-content:deploy -f -
检查源代码控制中的更改。
code language-bash git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
步骤4:更新生产系统
该流程的最后一步是从源代码管理更新您的生产系统。 这会拉取您在开发和构建系统时所做的所有更改,这意味着您的生产系统处于完全最新状态。
要更新生产系统:
-
以文件系统所有者的身份登录到生产系统。
-
更改为应用程序根并启用维护模式。
code language-bash cd <Magento root dir>code language-bash bin/magento maintenance:enable有关其他选项,例如设置IP地址白名单的功能,请参阅
magento maintenance:enable。 -
通过将
cron_run中的false设置为app/etc/env.php停止任何正在运行的队列工作程序,如下所示:code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ] -
更新配置。
code language-bash bin/magento app:config:import -
最后,
kill任何活动的使用者进程。code language-bash kill <PID>其中
PID是要终止的进程ID,例如:code language-bash kill 1234 -
从源代码管理中提取代码。
code language-bash git pull mconfig m2.2_deploy -
更新配置。
code language-bash bin/magento app:config:import -
清理缓存。
code language-bash bin/magento cache:clean -
结束维护模式。
code language-bash bin/magento maintenance:disable
验证管理员中的更改
验证这些设置在Admin 中不可编辑:
-
登录到管理员。
-
单击“存储”>“设置”>“配置”>“常规”>“常规”。
-
在右窗格中,展开 区域设置选项。
您刚刚设置的选项显示如下:
magento config:set --lock命令。