artisan命令必须在laravel项目根目录执行,自定义命令需手动注册到kernel.php的$commands数组或满足laravel 10+自动发现条件,并确保$signature格式正确(如{user? : default}中冒号前后须有空格)。

刚接触 Laravel,最常卡在三件事上:环境起不来、依赖装不上、Artisan 命令一执行就报错。其实核心就两点——路径必须对、命令必须在正确上下文中运行。下面直奔重点,不绕弯。
环境搭建:四步到位,别跳
不是所有“PHP 环境”都能跑 Laravel。它有明确门槛:
- PHP 版本 ≥ 8.1,且必须启用 OpenSSL、PDO、MBstring、Tokenizer、XML、Ctype、JSON 这些扩展
- 先装 Composer(不是可选,是必需),用 composer --version 确认成功
- 用 composer create-project laravel/laravel your-app-name 创建项目,别用 git clone 后手动 composer install —— 容易漏 vendor/autoload.php
- 进到项目根目录后,立刻运行 php artisan serve,看到 “Server started” 和本地地址(如 http://127.0.0.1:8000)才算真正通了
依赖安装:只做两件事
Laravel 自带的依赖基本够用,日常只需关注两类:
- 新增包:比如 JWT 认证,直接 composer require tymon/jwt-auth(注意版本兼容性,Laravel 10+ 推荐用 newer 替代方案)
- 重装/修复依赖:删掉 vendor 和 composer.lock,再运行 composer install —— 不要用 update,除非你清楚改了哪些约束
装完别忘了生成密钥:php artisan key:generate,否则 .env 里的 APP_KEY 为空,应用会直接报错。
Artisan 命令:不是“能跑就行”,而是“得懂怎么查”
Artisan 是 Laravel 的操作中枢,但新手常因一个细节失败:没在项目根目录运行。
- 先确认你在哪:ls -la | grep artisan,能看到文件才说明路径对了
- 看所有命令:php artisan list,不是 artisan list,也不是 ./artisan list
- 查某条命令怎么用:php artisan help make:model,它会告诉你参数怎么写、选项怎么加
- 常见误写举例:php artisan make:controller UserController --resource 中的两个短横、冒号、空格都不能少;--force 这类布尔选项不带等号,--path=xxx 这类带值选项必须带等号
自定义命令:三步注册,缺一不可
自己写的命令不会自动出现在 php artisan list 里,必须显式注册:
- 用 php artisan make:command SendDailyReport 生成类文件
- 打开 app/Console/Kernel.php,把新命令加到 $commands 数组里:App\Console\Commands\SendDailyReport::class
- 检查该类是否继承 Illuminate\Console\Command,且 $signature 属性格式正确(例如 {user? : default} 中冒号前后必须有空格)
改完 Kernel.php 不用清缓存,但如果之前缓存过配置,要先 php artisan config:clear 再试。











