Mastering Magento CLI: A Comprehensive Guide to Magento Commands

Posted on: 19 Feb 2020 by Admin

How to use Command Line Interface CLI in Magento

At times it becomes necessary to access Magento system outside the Magento. It can be done using PHP shell script that bootstraps Magento. There are number of such scripts comes with Magento package to run some functionalities outside Magento. Those functionalities are listed below.

Re-indexing Magento through the command line
You might need to re-index Magento via the command line. This could be for a whole host of reasons, for example, if the indexer is getting timed out or not finishing through the web interface. Magento includes an indexing script and you can find it in the shell folder and have a number of commands at your disposal. Re-indexing shell commands as follows,
1. Checking for the status of all indexes: php indexer.php –status
Output

Magento-root-path\shell>php indexer.php --status
Product Attributes: Pending
Product Prices: Pending
Catalog URL Rewrites: Pending
Category Products: Pending
Catalog Search Index: Pending
Stock Status: Pending
Tag Aggregation Data: Pending

2. To get all index keys: php indexer.php –info
Output

Magento-root-path\shell>php indexer.php --info
catalog_product_attribute Product Attributes
catalog_product_price Product Prices
catalog_url Catalog URL Rewrites
catalog_category_product Category Products
catalogsearch_fulltext Catalog Search Index
cataloginventory_stock Stock Status
tag_summary Tag Aggregation Data

3. Re-indexing a single index: php indexer.php –reindex [Index Option Code] Output

Magento-root-path\shell>php indexer.php --reindex catalogsearch_fulltext
Catalog Search Index index was rebuilt successfully

4. Re-indexing a multiple indices: php indexer.php –reindex [Index Option Code 1, Index Option Code 2, Index Option Code 3]
Output

Magento-root-path\shell>php indexer.php --reindex catalog_product_attribute,catalog_product_price,catalog_url
Product Attributes index was rebuilt successfully
Product Prices index was rebuilt successfully
Catalog URL Rewrites index was rebuilt successfully

5. Re-index all indices: php indexer.php –reindexall
Output

Magento-root-path\shell>php indexer.php --reindexall
Product Attributes index was rebuilt successfully
Product Prices index was rebuilt successfully
Catalog URL Rewrites index was rebuilt successfully
Category Products index was rebuilt successfully
Catalog Search Index index was rebuilt successfully
Stock Status index was rebuilt successfully
Tag Aggregation Data index was rebuilt successfully

Run Magento Compiler through command line
Sometimes it is needed to urgently disable and clear Magento compiler, e.g. after installation or some 3rd party Magento module. Magento always recommended disabling it before any module installation. You can easy to do it in Magento administrator panel, but what if you installed module by mistake, when compiler was active? Most likely your Magento admin panel will be not accessible. Magento ships with a command line script for interacting with the compiler. Fortunately, there is a way to clear and disable Magento compiler using command shell. Compiler shell commands as follows,
1. Compiler helps command: php -f compiler.php help
Output

Magento-root-path\shell>php -f compiler.php help
Usage: php -f compiler.php -- [options]
state Show Compilation State
compile Run Compilation Process
clear Disable Compiler include path and Remove compiled files
enable Enable Compiler include path
disable Disable Compiler include path
help This help

2. Checking for the status of Compiler: php -f compiler.php state Output

Magento-root-path\shell>php -f compiler.php state
Compiler Status: Disabled
Compilation State: Not Compiled
Collected Files Count: 0
Compiled Scopes Count: 0

3. Run Compilation Process: php -f compiler.php compile
Output

Magento-root-path\shell>php -f compiler.php compile
Compilation successfully finished

4. Enable Compiler include path: php -f compiler.php enable
Output

Magento-root-path\shell>php -f compiler.php enable
Compiler include path enabled

5. Disable Compiler include path: php -f compiler.php disable
Output

Magento-root-path\shell>php -f compiler.php disable
Compiler include path disabled

6. Disable include path and Remove compiled files: php -f compiler.php clear
Output

Magento-root-path\shell>php -f compiler.php clear
Compilation successfully cleared

Thanks for reading my article on How to use Command Line Interface CLI in Magento. I hope it was useful.