此包的最新版本(0.17.5)没有可用的许可证信息。

Craft CMS 的命令行界面

0.17.5 2019-07-02 16:54 UTC

README

Craft CMS 的命令行界面。

安装

如果你使用的是 Mac,应该通过 Homebrew 进行安装。

brew tap rsanchez/homebrew-craft-cli
brew install craft-cli

否则,你应该下载 phar: https://github.com/rsanchez/craft-cli/releases/latest

php craft.phar <your:command>

有关其他安装方式,请参阅 Composer 安装

使用方法

如果你使用的是多环境配置,你必须通过在你的命令中使用 --environment= 标志或设置 CRAFT_ENVIRONMENT 环境变量来指定你的环境。

craft --environment="mysite.dev" show:config
CRAFT_ENVIRONMENT="mysite.dev" craft show:config

Craft CLI 支持 dotenv,并会自动从你的项目根目录下的 .env 文件(路径可以通过 .craft-cli.php 进行自定义)加载环境变量。你可以通过在你的 .env 文件中设置 CRAFT_ENVIRONMENT 变量来设置你的 Craft 环境。

命令

资产拉取

从远程环境拉取资产文件。

craft assets:pull --ssh-host=your.remote.server.com --ssh-user=yourUserName yourRemoteEnvironmentName

资产推送

将资产文件推送到远程环境

craft assets:push --ssh-host=your.remote.server.com --ssh-user=yourUserName yourRemoteEnvironmentName

清除缓存

清除所有 Craft 缓存。

craft clear:cache

从交互式列表中选择要清除的缓存。

craft clear:cache -s

控制台

启动交互式 shell。

craft console

数据库备份

将数据库备份到 craft/storage/backups

craft db:backup

将数据库备份到指定的路径。

craft db:backup ./backup.sql

数据库创建

创建数据库

craft db:create --host=localhost --port=3306 --name=yourDbName --user=yourUserName --password=yourPassword

数据库拉取

从远程数据库拉取到本地数据库。

craft db:pull --ssh-host=your.remote.server.com --ssh-user=yourUserName --force yourRemoteEnvironmentName

数据库推送

将本地数据库推送到远程数据库。

craft db:push --ssh-host=your.remote.server.com --ssh-user=yourUserName --force yourRemoteEnvironmentName

数据库还原

craft/storage/backups 的最新备份还原数据库。

craft db:restore --force

从指定的 .sql 文件还原数据库。

craft db:restore --force ./backup.sql

下载 Craft

将 Craft 下载到当前目录。

craft download

创建指定的目录并将 Craft 下载到其中。

craft download path/to/directory

生成命令

在指定的目录中生成自定义命令文件。

craft generate:command your:custom_command ./commands/

生成具有命名空间的自定义命令文件。

craft generate:command --namespace="YourSite\Command" your:custom_command ./src/YourSite/Command/

生成具有参数和选项的自定义命令。

craft generate:command --options --arguments your_command ./commands/

帮助

显示有关命令及其参数/选项的信息。

craft help <command>

初始化

在当前目录中创建 .craft-cli.php 配置文件

craft init

此配置文件仅在你使用 自定义命令 或已重命名 craft 文件夹时才需要。

安装 Craft

下载并安装 Craft 到当前目录。

craft install

创建指定的目录并将 Craft 安装到其中。

craft install path/to/directory

安装插件

从 GitHub 存储库安装插件。

craft install:plugin pixelandtonic/ElementApi

列表

列出可用的命令。

craft list

重建搜索索引

craft rebuild:searchindexes

运行任务

运行所有待处理任务。

craft run:tasks

重置 "正在运行"(挂起)的任务,然后运行所有任务。

craft run:tasks --reset-running

重置失败的任务,然后运行所有任务。

craft run:tasks --reset-failed

显示配置

显示所有配置项。

craft show:config

显示指定的配置项。

craft show:config db.user

尾部

显示 craft.log 的尾部。

craft tail

更新资产索引

craft update:assetsindexes

配置

Craft CLI 可以通过两种方式配置。您可以使用 craft init 命令来生成 .craft-cli.php 文件。或者,如果您通过 composer 安装了 Craft CLI,您可以在您的 composer.json 中添加一个 extra 对象,并在 extra 对象中添加一个 craft-cli 对象。

{
    "extra": {
        "craft-cli": {
            "commandDirs": {
                "\\Your\\Namespace": "path/to/commands/"
            }
        }
    }
}

自定义命令

Craft CLI 自定义命令是 Symfony Console 命令对象。您可以通过向 commandDirs 对象添加命名空间和文件夹路径,将自定义命令添加到您的 .craft-cli.phpcomposer.json 配置中。

您可以使用 craft generate:command 命令生成自定义命令文件。

故障排除

您的命令行 PHP 无法连接到 MySQL

您可以在命令行中运行以下命令来测试(将数据库凭据更改为您的实际凭据)

php -r "var_dump(@mysql_connect('hostname', 'username', 'password', 'database_name'));"

如果这输出 false,那么您知道您的 CLI PHP 未配置为连接到您的数据库。这通常是由于错误的默认 MySQL 套接字设置造成的。

如果您正在运行 MAMP,例如,并且正在使用默认的 Mac OS 命令行 PHP,那么您将无法默认连接。您需要编辑您的 /etc/php.ini(或您的 php.ini 文件所在的任何位置)文件,并将 mysql.default_socket 和/或 mysqli.default_socket 更改为 /Applications/MAMP/tmp/mysql/mysql.sock

Composer 安装

您可以进行全局安装

composer global require craft-cli/cli

确保您的全局 composer 安装已添加到您的 ~/.bash_profile(或 ~/.profile~/.bashrc~/.zshrc)中的 PATH,以便您可以从命令行运行二进制文件

export PATH=~/.composer/vendor/bin:$PATH

或者,您可以在项目基础上安装,而不是在主机系统上全局安装。

composer require craft-cli/cli

然后,命令将在您的 vendor/bin 文件夹中,因此您可以在命令行中运行此命令

vendor/bin/craft <your:command>