Laravel框架的Artisan是内置的命令行接口,基于Symfony Console组件开发,提供了大量开箱即用的命令,覆盖项目创建、数据库迁移、缓存清理、队列处理等多个开发场景,是Laravel开发过程中不可或缺的工具。

Artisan基础使用方式
Artisan命令需要在项目根目录下通过终端执行,基础命令格式为php artisan 命令名称 [参数] [选项]。如果不确定当前可用的命令,可以直接执行以下命令查看所有内置命令列表:
php artisan list
如果需要查看某个具体命令的帮助信息,包括参数说明和选项说明,可以使用help指令,示例如下:
php artisan help migrate
常用内置Artisan命令
项目与基础管理类
php artisan serve:启动Laravel内置的开发服务器,默认端口为8000,可通过--port选项指定端口php artisan about:查看当前项目的核心配置信息,包括Laravel版本、PHP版本、环境变量、缓存状态等php artisan optimize:优化项目配置,合并配置文件缓存、路由缓存,提升项目运行效率
数据库相关类
数据库迁移是Laravel管理数据库结构的核心方式,相关Artisan命令如下:
# 执行所有未执行的迁移文件,更新数据库结构 php artisan migrate # 回滚最近一次迁移操作 php artisan migrate:rollback # 创建新的迁移文件,表名可自定义 php artisan make:migration create_posts_table # 填充数据库测试数据 php artisan db:seed
代码生成类
Artisan可以快速生成各类代码文件,减少手动创建文件的工作量,常用生成命令如下:
# 创建新的控制器,可指定资源控制器 php artisan make:controller PostController php artisan make:controller PostController --resource # 创建模型文件,同时生成迁移文件 php artisan make:model Post -m # 创建中间件 php artisan make:middleware CheckAuth # 创建队列任务 php artisan make:job SendEmailJob
自定义Artisan命令
如果内置命令无法满足需求,可以自定义Artisan命令,步骤如下:
第一步:创建命令文件
执行以下命令生成自定义命令的基础文件,命令名称建议使用动词+名词的格式,清晰表达命令功能:
php artisan make:command SendDailyReport
生成的文件位于app/Console/Commands目录下。
第二步:编写命令逻辑
打开生成的命令文件,需要配置两个核心属性,然后实现handle方法,该方法就是命令执行时运行的逻辑:
<?php
namespace AppConsoleCommands;
use IlluminateConsoleCommand;
use IlluminateSupportFacadesMail;
class SendDailyReport extends Command
{
// 命令名称,终端执行时使用的名称
protected $signature = 'report:daily';
// 命令描述,执行php artisan list时显示的描述信息
protected $description = '发送每日数据统计报告';
public function __construct()
{
parent::__construct();
}
// 命令执行的核心逻辑
public function handle()
{
// 这里编写发送日报的具体逻辑
$this->info('每日报告发送成功');
}
}
第三步:执行自定义命令
完成代码编写后,直接在终端执行自定义的命令名称即可:
php artisan report:daily
常用Artisan命令速查表
| 命令 | 功能说明 |
|---|---|
| php artisan clear-compiled | 清除编译后的类文件 |
| php artisan config:cache | 缓存配置文件 |
| php artisan config:clear | 清除配置缓存 |
| php artisan route:cache | 缓存路由配置 |
| php artisan route:clear | 清除路由缓存 |
| php artisan cache:clear | 清除应用缓存 |
| php artisan queue:work | 启动队列处理器 |
| php artisan schedule:run | 执行定时任务 |
使用注意事项
- 执行Artisan命令前需要确认当前终端的工作目录是Laravel项目的根目录,否则会提示命令不存在
- 生产环境执行数据库迁移、缓存清理等命令前,建议先备份相关数据,避免数据丢失
- 自定义命令如果需要接收参数,可以在
$signature属性中添加参数定义,例如report:daily {date?}表示可选日期参数 - 如果命令执行过程中需要用户交互输入,可以使用
ask、confirm等方法,例如$name = $this->ask('请输入用户名');
LaravelArtisan命令行工具php_artisan修改时间:2026-06-28 22:51:33