设置配置值
本主题讨论可用于以下操作的高级配置命令:
- 从命令行设置任何配置选项
- (可选)锁定任何配置选项,使其值无法在管理员中更改
- 更改在Admin中锁定的配置选项
您可以使用这些命令手动或使用脚本设置Commerce配置。 您使用 配置路径 设置配置选项,该路径是一个以/
分隔的字符串,用于唯一标识该配置选项。 您可在以下引用中找到配置路径:
您可以在以下时间设置值:
-
在安装Commerce之前,您只能为默认范围设置配置值,因为它是唯一的有效范围。
-
安装Commerce后,您可以为任何网站或商店视图范围设置配置值。
使用以下命令:
bin/magento config:set
通过其配置路径设置任何非敏感配置值bin/magento config:sensitive:set
根据其配置路径设置任何敏感配置值bin/magento config:show
显示已保存的配置值;加密设置的值显示为星号
先决条件
要设置配置值,您必须至少知道以下内容之一:
-
配置路径
-
要设置特定范围的配置值,必须知道范围代码。
要设置默认范围的配置值,您无需执行任何操作。
查找配置路径
请参阅以下引用:
查找范围代码
您可以在Commerce数据库或Commerce管理员中找到范围代码。
要在管理员中查找范围代码:
-
以可以查看网站和商店视图的用户身份登录到管理员。
-
单击 Stores >设置> All Stores。
-
在右侧窗格中,单击网站或商店视图的名称以查看其代码。
下图显示了一个示例网站代码。
-
继续设置设置值。
在数据库中查找作用域代码:
网站和商店视图的范围代码分别存储在store_website
和store
表的Commerce数据库中。
-
连接到Commerce数据库。
code language-bash mysql -u <Commerce database username> -p
-
输入以下命令:
code language-shell use <Commerce database name>;
code language-shell SELECT * FROM store;
code language-shell SELECT * FROM store_website;
以下是示例结果:
code language-none [mysql]> SELECT * FROM store_website; +------------+-------+--------------+------------+------------------+------------+ | website_id | code | name | sort_order | default_group_id | is_default | +------------+-------+--------------+------------+------------------+------------+ | 0 | admin | Admin | 0 | 0 | 0 | | 1 | base | Main Website | 0 | 1 | 1 | | 2 | test1 | Test Website | 0 | 3 | 0 | +------------+-------+--------------+------------+------------------+------------+
使用
code
列中的值。 -
继续下一部分。
设置值
要设置系统特定的配置值:
bin/magento config:set [--scope="..."] [--scope-code="..."] [-le | --lock-env] [-lc | --lock-config] path value
要设置敏感配置值:
bin/magento config:sensitive:set [--scope="..."] [--scope-code="..."] path value
下表描述了set
命令参数:
--scope
default
、website
或store
。 默认值为default
。--scope-code
-e or --lock-env
<Commerce base dir>/app/etc/env.php
文件。-c or --lock-config
<Commerce base dir>/app/etc/config.php
文件。 如果同时指定两个选项,--lock-config
选项将覆盖--lock-env
。path
value
--lock-env
和--lock-config
选项将替换--lock
选项。--lock-env
或--lock-config
选项设置或更改值,则必须使用bin/magento app:config:import
命令导入设置,然后再访问Admin或Storefront。如果输入的配置路径不正确,此命令将返回错误
The "wrong/config/path" does not exist
有关更多信息,请参阅以下部分之一:
设置可在管理员中编辑的配置值
使用bin/magento config:set
(不带 --lock-env
或--lock-config
)将该值写入数据库。 您通过这种方式设置的值可以在管理员中进行编辑。
下面是设置商店基本URL的一些示例:
为默认范围设置基本URL:
bin/magento config:set web/unsecure/base_url http://example.com/
为base
网站设置基本URL:
bin/magento config:set --scope=websites --scope-code=base web/unsecure/base_url http://example2.com/
设置test
存储视图的基本URL:
bin/magento config:set --scope=stores --scope-code=test web/unsecure/base_url http://example3.com/
设置无法在管理员中编辑的配置值
如果按如下方式使用--lock-env
选项,则该命令会将配置值保存在<Commerce base dir>/app/etc/env.php
中,并禁用该字段以在管理员中编辑该值。
bin/magento config:set --lock-env --scope=stores --scope-code=default web/unsecure/base_url http://example3.com
如果未安装Commerce,则可以使用--lock-env
选项设置配置值。 但是,只能为默认范围设置值。
env.php
文件特定于系统。 您不应将其传输到其他系统。 您可以使用它覆盖数据库中的配置值。 例如,您可以从另一个系统获取数据库转储并覆盖base_url
和其他值,这样您就不必修改数据库。如果按如下方式使用--lock-config
选项,则配置值保存在<Commerce base dir>/app/etc/config.php
中。 管理员中用于编辑此值的字段已禁用。
bin/magento config:set --lock-config --scope=stores --scope-code=default web/url/use_store 1
如果未安装Commerce,则可以使用--lock-config
设置配置值。 但是,只能为默认范围设置值。
config.php
传输到另一个系统,以便在该处使用相同的配置值。 例如,如果您有一个测试系统,则使用相同的config.php
意味着您不必再次设置相同的配置值。显示配置设置的值
命令选项:
bin/magento config:show [--scope[="..."]] [--scope-code[="..."]] path
位置
--scope
是配置的范围(默认、网站、商店)。 默认值为default
--scope-code
是配置的范围代码(网站代码或商店视图代码)path
是格式为first_part/second_part/third_part/etc的配置路径(required)
示例
显示所有保存的配置:
bin/magento config:show
结果:
web/unsecure/base_url - http://example.com/
general/region/display_all - 1
general/region/state_required - AT,BR,CA,CH,EE,ES,FI,LT,LV,RO,US
catalog/category/root_id - 2
analytics/subscription/enabled - 1
要显示base
网站 的所有已保存配置,请执行以下操作:
bin/magento config:show --scope=websites --scope-code=base
结果:
web/unsecure/base_url - http://example-for-website.com/
general/region/state_required - AT,BR,CA
显示默认作用域 的基本URL:
bin/magento config:show web/unsecure/base_url
结果:
web/unsecure/base_url - http://example.com/
要显示base
网站 的基本URL,请执行以下操作:
bin/magento config:show --scope=websites --scope-code=base web/unsecure/base_url
结果:
web/unsecure/base_url - http://example-for-website.com/
要显示default
存储 的基本URL:
bin/magento config:show --scope=stores --scope-code=default web/unsecure/base_url
结果:
web/unsecure/base_url - http://example-for-store.com/