设置操作模式

WARNING
所有MagentoCLI命令都必须由文件系统所有者运行。

为了提高安全性和易用性,我们添加了将应用程序模式从开发人员切换到生产环境,反之亦然。

由于静态视图文件填充到pub/static目录并且代码编译,因此生产模式的性能更好。

INFO
在2.0.6版及更高版本中,在默认、开发和生产模式之间切换时,Commerce不会明确设置文件或目录权限。 与其他模式不同,开发人员和生产模式在env.php文件中设置。 云基础架构上的Adobe Commerce仅支持生产和维护模式。
查看开发和生产中的Commerce所有权和权限

当您更改为开发人员模式或生产模式时,我们将清除以下目录的内容:

var/cache
generated/metadata
generated/code
var/view_preprocessed
pub/static

例外:

  • 未删除.htaccess个文件
  • pub/static包含指定静态内容版本的文件;未删除此文件
INFO
默认情况下,Commerce使用var目录来存储缓存、日志和编译的代码。 您可以自定义此目录,但本指南中假定为var

显示当前模式

最简单的方法是以文件系统所有者的身份运行此命令。 如果您共享了主机,则这是您的提供商为您提供的用于登录到服务器的用户。 如果您有专用服务器,它通常是Commerce服务器上的本地用户帐户。

命令用法:

bin/magento deploy:mode:show

此时将显示一条与以下内容类似的消息:

Current application mode: {mode}. (Note: Environment variables may override this value.)

其中:

  • {mode} ​可以是defaultdeveloperproduction

更改模式

命令用法:

bin/magento deploy:mode:set {mode} [-s|--skip-compilation]

其中:

  • {mode} ​为必填;它可以是developerproduction

  • --skip-compilation ​是一个可选参数,在更改为生产模式时,可用于跳过代码编译

示例如下。

更改为生产模式

bin/magento deploy:mode:set production

与以下内容类似的消息:

Enabled maintenance mode
Requested languages: en_US
=== frontend -> Magento/luma -> en_US ===
... more ...
Successful: 1884 files; errors: 0
---

=== frontend -> Magento/blank -> en_US ===
... more ...
Successful: 1828 files; errors: 0
---

=== adminhtml -> Magento/backend -> en_US ===
... more ...
---

=== Minify templates ===
... more ...
Successful: 897 files modified
---

New version of deployed files: 1440461332
Static content deployment complete
Gathering css/styles-m.less sources.
Successfully processed LESS and/or Sass files
CSS deployment complete
Generated classes:
      Magento\Sales\Api\Data\CreditmemoCommentInterfacePersistor
      Magento\Sales\Api\Data\CreditmemoCommentInterfaceFactory
      Magento\Sales\Api\Data\CreditmemoCommentSearchResultInterfaceFactory
      Magento\Sales\Api\Data\CreditmemoComment\Repository
      Magento\Sales\Api\Data\CreditmemoItemInterfacePersistor
      ... more ...
Compilation complete
Disabled maintenance mode
Enabled production mode.

更改为开发人员模式

从生产模式更改为开发人员模式时,应清除生成的类和Object Manager实体(如代理)以防止意外错误。 完成此操作后,您可以更改模式。 请使用以下步骤:

  1. 如果要从生产模式更改为开发人员模式,请删除generated/codegenerated/metadata目录的内容:

    code language-bash
    rm -rf <magento_root>/generated/metadata/* <magento_root>/generated/code/*
    
  2. 设置模式:

    code language-bash
    bin/magento deploy:mode:set developer
    

    将显示以下消息:

    code language-none
    Enabled developer mode.
    

更改为默认模式

bin/magento deploy:mode:set default

将显示以下消息:

Enabled default mode.

从任何位置运行CLI命令

从任何位置运行CLI命令

如果尚未将<Commerce-install-directory>/bin添加到系统PATH,则单独运行该命令时可能会出错。

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c