Tag: Magento开发技巧

  • Magento 2 开发者必备:全面的 CLI 命令参考

    Magento 2 开发者必备:全面的 CLI 命令参考

    喜欢开发 Magento 2 的开发者,今天给你们整理了一份正确的 Magento CLI 命令作为参考。目前为止,似乎没有一个集中资源来提供完整的 Magento 2 命令列表,在不同网站上搜索合适的命令会浪费大量时间。

    我们团队刚开始的时候也遇到过这种情况!

    Magento 2 的命令行接口(CLI)为执行各种任务提供了便捷高效的方式,包括安装平台、管理模块、主题、扩展程序和配置商店等。

    使用 CLI 命令,可以节省时间和精力,同时提升 Magento 2 开发体验。

    在本文中,我们整理了一份全面的 Magento 2 CLI 命令列表,可以在需要时随时参考。此外,还会分享一些如何在 Magento 2 中添加自定义 CLI 命令。

    图片[1]-361Sale WordPress Care

    什么是 Magento 2 CLI?

    命令行接口(CLI)是一种基于文本的用户界面(UI)。就像驾驶汽车需要与各种控制装置(如方向盘、踏板和仪表盘)进行交互一样,Magento 2 CLI 可以通过文本命令与计算机或应用程序进行交互。

    例如:可以使用 CLI 来运行程序、管理计算机文件和配置设置,就像驾驶员通过控制汽车的各项功能来驾驶、加速、刹车并调整汽车设置一样。

    Magento 2 提供了一个命令行接口,用于执行安装和配置任务,包括缓存管理、安装扩展、清除缓存等。

    一个使用 Magento 2 CLI 的具体示例是清除缓存。这就像驾驶员需要清除汽车挡风玻璃上的灰尘或杂物,以确保视野清晰一样。通过使用 cache:clean 命令,可以删除阻碍查看 Magento 2 网站的缓存数据,就能立即看到所做的更改。

    如何通过 Magento CLI 访问文件

    要访问 Magento 2 的命令行接口(CLI),要拥有服务器的 SSH(安全外壳协议)访问权限。

    注意: 一旦获得了 SSH 访问权限,可以使用终端模拟器(如 PuTTY(适用于 Windows)或 Terminal(适用于 macOS 和 Linux))登录到你的服务器。

    图片[2]-361Sale WordPress Care

    按照以下步骤访问并运行 Magento CLI:

    Magento 的一般目录结构如下,可以根据操作系统使用该结构来访问服务器上的应用程序:

    cd <magento_root>/bin

    示例:

    • Ubuntu: cd /var/www/magento2/bin
    • CentOS: cd /var/www/html/magento2/bin

    登录到你的服务器并访问 SSH:点击 SSH打开 SSH 终端,或使用其他终端访问 SSH。

    图片[3]-361Sale WordPress Care
    图片[4]-361Sale WordPress Care

    输入凭证:在主凭证下输入凭证,即用户名和密码。

    图片[5]-361Sale WordPress Care

    访问 Magento 应用程序及其公共文件夹:

    图片[6]-361Sale WordPress Care

    现在,位于 Magento 2 应用程序的公共目录中,可以运行任何bin/magento命令。

    Magento CLI 位于每个 Magento 安装的<project-root>/bin/目录中。可以使用以下命令从 Magento 根目录访问它:

    php bin/magento

    注意:在 bin/magento 之前使用“php”是可选的。但这仅适用于最新版本的 Magento 2。即使省略它,操作系统也会自动找到全局 PHP 变量来执行命令。

    运行 Magento 2 CLI 命令

    要运行任何命令,首先访问服务器的命令行界面 (CLI),然后导航到 Magento 2 应用程序的公共目录。操作方法如下:

    在此处添加有关如何导航到 Magento 2 应用程序的公共目录的步骤。

    要运行特定的 Magento 2 CLI 命令,请运行以下命令:

    bin/magento [命令名称] [参数]

    代替: 

    • [command-name] 为 Magento 2 CLI 命令的名称。
    • [参数] 包含命令的任何必需或可选参数。

    例如:要刷新 Magento 2 缓存,请运行以下命令:

    bin/magento cache:flush

    Magento 2 常用命令列表及其使用方法

    Magento 2 CLI 命令可以从服务器或本地环境的命令行界面访问。所有 Magento 命令行界面 (CLI) 命令都依赖于 Magento 应用程序,并且必须能够访问其上下文、依赖项注入、插件等。

    Magento 2 CLI 命令结构:

    以下是 Magento 2 CLI 命令的基本结构:

    bin/magento [选项] [参数]

    在此命令结构中:

    • bin/magento 是 Magento 2 CLI 可执行文件的路径。
    • <command> 是想要运行的 CLI 命令的名称。
    • [<options>] 是可以传递给命令的可选参数。

    例如: php bin/magento indexer:reindex

    列出所有命令:

    先要检查 Magento 2 中可用的所有命令列表,运行以下命令:

    bin/magento list
    图片[7]-361Sale WordPress Care

    可以使用快捷方式而不是完整命令名来调用 bin/magento CLI 命令。例如:可以使用 bin/magento s:up、bin/magento s:upg 来调用 bin/magento setup:upgrade。

    下面是一些用于管理 Magento 应用程序的有用且常见的 Magento 命令:

    Magento 2 缓存命令

    顾名思义,此 Magento 2 命令可以操纵 Magento 的缓存选项。您可以使用以下命令启用、禁用、清理、刷新或检查 Magento 缓存的状态:

    • 命令:magento cache:{enable/disable/clean/flush/status}
    缓存 命令 捷径 描述
    bin/magento 缓存:状态 bin/magento c:s 列出缓存类型及其状态
    bin/magento 缓存:启用 bin/magento c:e 启用所有缓存或任何特定缓存类型
    bin/magento 缓存:禁用 php bin/magento c:d 禁用所有缓存或任何特定缓存类型
    bin/magento 缓存:清理 php bin/magento c:d 它将仅删除与 Magento 链接的缓存类型
    bin/magento 缓存:刷新 bin/magento c:f 删除同一存储的所有缓存

    Magento 2 索引器命令

    索引器是 Magento 2 中广泛使用的选项。以前没有任何方法可以手动更新索引,但现在也可以通过Magento 的管理面板进行更新。除了用 Magento reindex 命令重新索引之外,还可以选择设置索引模式并通过 Magento CLI 检查索引器的状态。

    • 命令:bin/magento indexer: {status/show-mode/set-mode/reindex/info/reset/show-dimensions-mode/set-dimensions-mode}

    例子:

    索引器 命令 捷径 描述
    bin/magento 索引器:信息 bin/magento indexer:info 显示所有索引器的列表
    bin/magento 索引器:状态 bin/magento i:sta 查看所有索引器或仅特定索引器的状态
    bin/magento 索引器:设置模式 bin/magento i:set 重新索引所有索引器或仅重新索引特定索引器
    bin/magento 索引器:重新索引 bin/magento i:rei 使所有索引器或特定索引器无效
    bin/magento 索引器:显示模式 bin/magento i:sho 查看索引器当前配置

    Magento 2 管理命令

    使用 Magento 2 管理命令,可以创建新的管理员用户,编辑或解锁已通过 Magento CLI 创建的用户。

    命令:

    • bin/magento 管理员:用户:{创建/解锁}
    • bin/magento admin:user:create [–<参数名称>=<值>, …]

    例子:

    行政 命令 捷径 描述
    bin/magento 管理员:用户:创建 bin/magento a:u:c 创建管理员
    bin/magento 管理员:用户:解锁 php bin/magento a:u:u 解锁管理员账户
    bin/magento 管理员:adobe-ims:状态 Adobe IMS 模块的状态
    bin/magento 管理员:adobe-ims:信息  Adobe IMS 模块配置信息
    bin/magento 管理员:adobe-ims:启用 启用 Adob​​e IMS 模块
    bin/magento 管理员:adobe-ims:禁用 禁用 Adob​​e IMS 模块

    Magento 2 模块命令

    此 Magento 命令可用于通过 Magento CLI 启用、禁用、卸载或检查所有已安装模块的状态。如果模块有任何依赖关系,则使用此 Magento 2 命令禁用或卸载模块将失败。

    • 命令:bin/magento module:user:{status/enable/disable/uninstall}

    例子:

    模块 命令 捷径 描述
    bin/magento 模块:状态 bin/magento mo:s 检查 Magento 模块的状态
    bin/magento 模块:启用 bin/magento mo:e 启用特定的 Magento 模块
    bin/magento 模块:禁用 bin/magento mo:d 禁用特定的 Magento 模块
    bin/magento 模块:卸载 bin/magento m:u 卸载特定的 Magento 模块

    Magento 2 Cron 命令

    此 Magento 2 命令可以手动执行计划的 Magento Cron 作业。可以将此命令放入调度程序中,以便及时执行应用程序的任务。

    命令:

    1. magento cron:运行

    例子:

    Cron 命令 捷径 描述
    bin/magento cron:安装 bin/magento c:in 为当前用户生成并安装 crontab
    bin/magento cron:删除 bin/magento c:re 从 crontab 中删除任务
    bin/magento cron:运行 bin/magento c:r 按计划运行作业

    Magento 2 维护命令

    Magento 维护命令可以帮助您保持网站平稳运行。以下是一些最有用的维护命令。

    • 命令:bin/magento 维护:{status/enable/disable/allow-ips}

    以下是一些有用的命令:

    维护 命令 捷径 描述
    bin/magento 维护:允许 ips bin/magento m:a 设置维护模式豁免 IP
    bin/magento 维护:禁用 bin/magento ma:d 禁用维护模式
    bin/magento 维护:启用 bin/magento ma:d 启用维护模式
    bin/magento 维护:状态 bin/magento ma:s 显示维护模式状态

    Magento 2 信息命令

    通过使用 Magento 2 信息命令,用户可以深入了解有关其网站和运行它的系统的信息。

    • 命令:bin/magento info:{adminuri/backups/currency/dependencies/language}

    以下是一些有用的信息命令:

    信息 命令 捷径 描述
    bin/magento 信息:adminuri  bin/magento i:a 显示 Magento 管理 URI
    bin/magento 信息:备份:列表  bin/magento i:b:l 打印可用备份文件的列表
    bin/magento 信息:货币:列表    bin/magento i:c:l 显示可用货币列表
    bin/magento 信息:依赖项:显示框架 bin/magento i:d:show-f 显示 Magento 框架的依赖项数量
    bin/magento 信息:依赖项:显示模块   bin/magento i:d:show-modules 显示模块之间的依赖关系数量
    bin/magento 信息:依赖项:显示模块循环   bin/magento i:d:show-circular 显示模块之间的循环依赖数量
    bin/magento 信息:语言:列表  bin/magento i:l:l 显示可用语言区域设置的列表
    bin/magento 信息:时区:列表  bin/magento i:t:l 显示可用时区列表

    Magento 2 设置命令

    可以使用 Magento 设置命令来做很多事情。

    以下是一些有用的命令:

    设置 命令 捷径 描述
    bin/magento 设置:配置:设置  bin/magento s:c:s 创建或修改部署配置
    bin/magento 设置:di:编译  bin/magento s:d:c 生成 DI 配置和所有可以自动生成的缺失类
    bin/magento 设置:升级  bin/magento s:up 升级 Magento 应用程序、数据库数据和架构
    bin/magento 设置:卸载 bin/magento s:un 卸载 Magento 应用程序
    bin/magento 设置:安装  bin/magento s:i 安装 Magento 应用程序
    php bin/magento 设置:静态内容:部署 php bin/magento s:s:d 部署静态视图文件

    备份命令

    此 Magento CLI 命令可以备份应用程序的代码、数据库和媒体文件。备份可以在 Web 根目录的 var/backup/directory 中找到。

    还有完整的指南,如何仅通过几个步骤备份 Magento 商店。

    命令:

    magento setup:backup ‐‐code ‐‐media ‐‐db

    配置命令

    此选项可用于在 Magento 中更改配置。更改涉及数据库参数、管理 URL 等。可以在 app/etc/env.php 文件中看到提供的值。

    命令:

    magento setup:config:set ‐‐backend‐frontname="admin" ‐‐db‐host="localhost" ‐‐db‐name="example" ‐‐db‐user="example" ‐‐db‐password="example"

    其他 Magento 2 设置命令

    • To generate data for performance testing

    命令:

    • magento setup:perf:generate-fixtures
    • bin/magento setup:perf:generate-fixtures {path to profile}

    例子:

    bin/magento 设置:perf:生成固定装置 /var/www/html/magento2/setup/performance-toolkit/profiles/ce/test.xml

    • To generate data, patch and declaration

    命令:

    • setup:db-declaration:generate-patch
    • setup:db-declaration:generate-whitelist
    • setup:db-schema:upgrade
    • setup:db-data:upgrade

    Magento 2 部署命令

    Magento 2 提供了一系列 CLI 命令,用于方便地部署商店的静态内容。这些内容包括 CSS、JavaScript、HTML 文件、图片、字体以及各种媒体资源。这些命令还广泛应用于 Magento 2 的版本升级或实施安全补丁时。

    以下是一些常用部署命令的示例:

    部署命令 快捷方式 描述
    bin/magento deploy:mode:set bin/magento d:m:set 设置应用程序模式
    bin/magento deploy:mode:show bin/magento d:m:sho 显示当前应用程序模式

    Magento 2 主题命令

    Magento 2 具有强大的主题系统,允许您使用 HTML、CSS、JavaScript 和 XML 文件创建自定义主题或修改现有主题。

    命令:

    php bin/magento theme:uninstall

    捷径: 

    php bin/magento t:u

    其他有用的 Magento 2 命令

    除了前面提到的命令之外,Magento 2 中还有许多其他有用的 CLI 命令,我们将在下面进行探讨。

    要生成翻译词典:

    命令:

    • magento i18n:{collect-phrases/pack/uninstall}
    • bin/magento i18n:collect-phrases [-o|–output=”<csv file path and name>”] [-m|–magento] <path to directory to translate>
    • bin/magento i18n:pack [-m|–mode={merge|replace}] [-d|–allow-duplicates] <source> <locale>

    例子:

    magento i18n:collect-phrases

    要从 LESS 创建 CSS:

    命令:

    • magento dev:source-theme:deploy
    • bin/magento dev:source-theme:deploy [–type=”…”] [–locale=”…”] [–area=”…”] [–theme=”…”] [file1] … [fileN]

    例子:

    bin/magento dev:source-theme:deploy –type=”less” –locale=”en_US” –area=”frontend” –theme=”VendorName/themeName” css/styles-l

    运行指定的自动化测试:

    • 命令:bin/magento dev:tests:run <test>

    例子:

    bin/magento dev:tests:run integration

    显示测试列表:

    例子:

    bin/magento dev:tests:run –help

    要更新布局 XML 文件:

    • 命令:bin/magento dev:xml:convert

    要在 Magento 应用程序上安装示例数据:

    • 命令:magento sampledata:install

    用于管理后端配置:

    • 命令: magento config:{set/sensitive:set/show/}

    要检查 Magento 命令的完整列表:

    • 命令:bin/magento list

    要获取任何特定命令的帮助:

    • 命令: bin/magento help <command>

    例子:

    bin/magento help cache:enable

    修复 Magento 2 命令不起作用

    Magento 2 命令不起作用的原因可能有多种。可以尝试以下一些故障排除步骤:

    如果正在运行任何命令但没有任何返回,可以按照以下选项修复此问题:

    检查文件权限

    确保 Magento 2 安装中的文件和目录具有正确的权限。可以使用以下命令设置正确的权限:

    sudo chmod -R 777 var/ pub/

      启用错误报告

      在 Magento 2 安装中启用错误报告。这可以帮助识别安装中的任何问题。要启用错误报告,请编辑 Magento 2 安装中的 index.php 文件并取消注释以下行:

      #ini_set('display_errors', 1);

      更改为:

      ini_set('display_errors', 1);

      增加 PHP 内存限制

      如果遇到错误消息“允许的 x 字节内存大小已用尽(尝试分配 y 字节)”,则可能表示存在内存问题。要解决此问题,可以通过在运行的命令中包含以下行来增加内存限制:

      -d memory_limit=XX

      例子:

      php -d 内存限制=4G bin/magento 设置:di:编译

      检查更新

      确保 Magento 2 安装是最新的。运行以下命令检查更新:

      composer update

      检查错误

      运行以下命令查看 Magento 2 安装中是否存在任何错误:

      php bin/magento setup:di:compile

      如果有任何错误,它们将显示在控制台中。可能需要修复这些错误,然后命令才能正常工作。

      检查命令语法是否正确

      确保使用的命令语法正确。

      请注意:还有其他几种方法可以解决此问题。可能需要 Magento 社区或技术支持的进一步帮助。

      总之,Magento CLI 可能看起来令人头疼,但一旦掌握了它的工作原理,不用成为开发人员也可以管理 Magento 商店。