在本教程中,我们将讨论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 Uninstalls theme
命令行类别
我们可以把这个列表分成以下几类:
- Cache
- Indexer
- Cron job
- Code compiler
- Set the Magento mode
- i18n translation
- Run unit tests
- Maintenance
- module management
- Setup: Install, Upgrade, Uninstall, Backup , Rollback
- Theme
- Deployment
接下来我们将举几个例子。
缓存命令行
如何检查缓存类型的状态
- 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 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_category
部署命令行
命令语法:
- 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
- ---
如何通过命令行获取管理路径
你知道吗?您可以获取管理路径而不访问etc/env.php
文件。
运行
- php bin/magento info:adminuri
结果:
- $ php bin/magento info:adminuri
- Admin URI: /admin
所以/admin
现在的路径是,将您的浏览器导航到domain.com/admin以访问Magento 2后端。
如何通过命令行启用维护模式
启用维护模式
- 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 Developer模式或Product模式
显示当前的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.
恭喜!现在您的商店正在开发人员模式下运行。快乐编码;)