Magento 2 的命令行接口

在这篇教程中,我们将会讨论 Magento 2 的命令行接口(CLI),如你所知,在 Magento 2 中,开发人员在 bin/magento 里添加了许多命令,虽然可能很难掌握,但我会在教程中对细节进行详细的说明。

当你在终端中运行命令时:

php bin/magento

或者

bin/magento

可以得到 Magento 2 命令列表,包括了常用的命令

Usage:                                                                                                                      
 command [options] [arguments]                                                                                              
                                                                                                                            
Options:                                                                                                                    
 --help (-h)           Display this help message                                                                            
 --quiet (-q)          Do not output any message                                                                            
 --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug   
 --version (-V)        Display this application version                                                                     
 --ansi                Force ANSI output                                                                                    
 --no-ansi             Disable ANSI output                                                                                  
 --no-interaction (-n) Do not ask any interactive question                                                                  
                                                                                                                            
Available commands:                                                                                                         
 help                                      Displays help for a command                                                      
 list                                      Lists commands                                                                   
admin                                                                                                                       
 admin:user:create                         Creates an administrator                                                         
 admin:user:unlock                         Unlock Admin Account                                                             
cache                                                                                                                       
 cache:clean                               Cleans cache type(s)                                                             
 cache:disable                             Disables cache type(s)                                                           
 cache:enable                              Enables cache type(s)                                                            
 cache:flush                               Flushes cache storage used by cache type(s)                                      
 cache:status                              Checks cache status                                                              
catalog                                                                                                                     
 catalog:images:resize                     Creates resized product images                                                   
 catalog:product:attributes:cleanup        Removes unused product attributes.                                               
cron                                                                                                                        
 cron:run                                  Runs jobs by schedule                                                            
customer                                                                                                                    
 customer:hash:upgrade                     Upgrade customer's hash according to the latest algorithm                        
deploy                                                                                                                      
 deploy:mode:set                           Set application mode.                                                            
 deploy:mode:show                          Displays current application mode.                                               
dev                                                                                                                         
 dev:source-theme:deploy                   Collects and publishes source files for theme.                                   
 dev:tests:run                             Runs tests                                                                       
 dev:urn-catalog:generate                  Generates the catalog of URNs to *.xsd mappings for the IDE to highlight xml.    
 dev:xml:convert                           Converts XML file using XSL style sheets                                         
i18n                                                                                                                        
 i18n:collect-phrases                      Discovers phrases in the codebase                                                
 i18n:pack                                 Saves language package                                                           
 i18n:uninstall                            Uninstalls language packages                                                     
indexer                                                                                                                     
 indexer:info                              Shows allowed Indexers                                                           
 indexer:reindex                           Reindexes Data                                                                   
 indexer:reset                             Resets indexer status to invalid                                                 
 indexer:set-mode                          Sets index mode type                                                             
 indexer:show-mode                         Shows Index Mode                                                                 
 indexer:status                            Shows status of Indexer                                                          
info                                                                                                                        
 info:adminuri                             Displays the Magento Admin URI                                                   
 info:backups:list                         Prints list of available backup files                                            
 info:currency:list                        Displays the list of available currencies                                        
 info:dependencies:show-framework          Shows number of dependencies on Magento framework                                
 info:dependencies:show-modules            Shows number of dependencies between modules                                     
 info:dependencies:show-modules-circular   Shows number of circular dependencies between modules                            
 info:language:list                        Displays the list of available language locales                                  
 info:timezone:list                        Displays the list of available timezones                                         
maintenance                                                                                                                 
 maintenance:allow-ips                     Sets maintenance mode exempt IPs                                                 
 maintenance:disable                       Disables maintenance mode                                                        
 maintenance:enable                        Enables maintenance mode                                                         
 maintenance:status                        Displays maintenance mode status                                                 
module                                                                                                                      
 module:disable                            Disables specified modules                                                       
 module:enable                             Enables specified modules                                                        
 module:status                             Displays status of modules                                                       
 module:uninstall                          Uninstalls modules installed by composer                                         
sampledata                                                                                                                  
 sampledata:deploy                         Deploy sample data modules                                                       
 sampledata:remove                         Remove all sample data packages from composer.json                               
 sampledata:reset                          Reset all sample data modules for re-installation                                
setup                                                                                                                       
 setup:backup                              Takes backup of Magento Application code base, media and database                
 setup:config:set                          Creates or modifies the deployment configuration                                 
 setup:cron:run                            Runs cron job scheduled for setup application                                    
 setup:db-data:upgrade                     Installs and upgrades data in the DB                                             
 setup:db-schema:upgrade                   Installs and upgrades the DB schema                                              
 setup:db:status                           Checks if DB schema or data requires upgrade                                     
 setup:di:compile                          Generates DI configuration and all missing classes that can be auto-generated    
 setup:install                             Installs the Magento application                                                 
 setup:performance:generate-fixtures       Generates fixtures                                                               
 setup:rollback                            Rolls back Magento Application codebase, media and database                      
 setup:static-content:deploy               Deploys static view files                                                        
 setup:store-config:set                    Installs the store configuration                                                 
 setup:uninstall                           Uninstalls the Magento application                                               
 setup:upgrade                             Upgrades the Magento application, DB data, and schema                            
theme                                                                                                                       
 theme:uninstall   

可以在截图中看到相同的内容

命令行的类别

可以将命令列表中的命令分成以下类别:

  • 缓存

  • 索引

  • 计划任务

  • 代码编译器

  • 设置 Magento 模式

  • 翻译

  • 运行单元测试

  • 维护

  • 模块管理

  • 安装程序:安装、升级、卸载、备份、回滚

  • 主题

  • 部署

接下来,每个分类会举例说明:

缓存类的命令

如何检查缓存的状态

php bin/magento cache:status

结果:

                    config: 1
                    layout: 1
                block_html: 1
               collections: 1
                    db_ddl: 1
                       eav: 1
                 full_page: 1
                 translate: 1
        config_integration: 1
    config_integration_api: 1
         config_webservice: 1

如何清除缓存

php bin/magento cache:clean

结果:

$ php bin/magento cache:clean                  
Cleaned cache types:                           
config                                         
layout                                         
block_html                                     
collections                                    
reflection                                     
db_ddl                                         
eav                                            
customer_notification                          
full_page                                      
config_integration                             
config_integration_api                         
translate                                      
config_webservice        

如何刷新缓存

php bin/magento cache:flush

如何启用,禁用缓存

php bin/magento cache:enable php bin/magento cache:disable

高级指令:

magento cache:enable [type] ... [type] magento cache:disable [type] ... [type]

禁用整页缓存:

magento cache:disable full_page

索引类命令

使用一下命令检查索引状态

php bin/magento indexer:info

结果:

design_config_grid                       Design Config Grid
customer_grid                            Customer Grid
catalog_category_product                 Category Products
catalog_product_category                 Product Categories
catalog_product_price                    Product Price
catalog_product_attribute                Product EAV
catalogsearch_fulltext                   Catalog Search
cataloginventory_stock                   Stock
catalogrule_rule                         Catalog Rule Product
catalogrule_product                      Catalog Product Rule

如何重建索引数据

php bin/magento indexer:reindex

如何将索引器状态重置为无效

php bin/magento indexer:reset

如何显示索引模式

php bin/magento indexer:show-mode

部署类的命令

命令语法

php bin/magento setup:static-content:deploy <lang> ... <lang> [--dry-run]

如何部署静态内容

php bin/magento setup:static-content:deploy

输出结果如下:

$ php bin/magento setup:static-content:deploy Requested languages: en_US === frontend -> Magento/blank -> en_US === ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

默认情况下,部署静态文件的默认语言为:en_EN

如果你想在部署静态内容时使用其他语言,例如:pt_BR

执行:

php bin/magento setup:static-content:deploy pt_BR

结果为:

Requested languages: pt_BR === frontend -> Magento/luma -> pt_BR === ... progress indicator ... Successful: 1613 files; errors: 0 === frontend -> Magento/blank -> pt_BR === ... progress indicator ... Successful: 1620 files; errors: 0 === adminhtml -> Magento/backend -> pt_BR === ... progress indicator ... Successful: 1626 files; errors: 0 === Minify templates === ... progress indicator ... Successful: 858 files modified ---

结果"

$ php bin/magento indexer:show-mode

Design Config Grid:                                Update on Save
Customer Grid:                                     Update on Save
Category Products:                                 Update on Save
Product Categories:                                Update on Save
Product Price:                                     Update on Save
Product EAV:                                       Update on Save
Catalog Search:                                    Update on Save
Stock:                                             Update on Save
Catalog Rule Product:                              Update on Save
Catalog Product Rule:                              Update on Save

如何设置索引模式类型

php bin/magento indexer:set-mode {realtime|schedule} [indexer]

例如:

magento indexer:set-mode schedule catalog_category_product catalog_product_cat

如何通过命令获取管理路径

你知道吗?你可以在不访问 etc/env.php 文件的情况下获取管理路径

执行:

php bin/magento info:adminuri

结果:

$ php bin/magento info:adminuri Admin URI: /admin

所以路径是 /admin,在浏览器中访问 domain.com/admin 进入到 Magento 后端页面。

如何通过命令行启用维护模式

启用维护模式

php bin/magento maintenance:enable

结果

$ php bin/magento maintenance:enable Enabled maintenance mode

禁用维护模式

php bin/magento maintenance:disable

允许IP访问商店

设置允许访问的ip

php bin/magento maintenance:allow-ips

例如:

php bin/magento maintenance:allow-ips 168.168.168.168 Set exempt IP-addresses: 168.168.168.168

如何设置 Magento 的开发者模式和生产模式

显示当前 Magento 2 模式

php bin/magento deploy:mode:show

结果:

$ php bin/magento deploy:mode:show Current application mode: default. (Note: Environment variables may override this value.)

现在是默认模式,让我们将模式转换为开发者模式

php bin/magento deploy:mode:set developer

结果:

$ php bin/magento deploy:mode:set developer Enabled developer mode.

本教程翻译自Mageplaza模块开发系列,其他内容请点击下面链接: