如何高效使用Laravel Artisan命令进行优化?
- 内容介绍
- 文章标签
- 相关推荐
本文共计932个文字,预计阅读时间需要4分钟。
命令行卡顿,通常不是命令本身的错误,而是它在启动Laravel应用时加载了过多不必要的组件。例如,一个仅读取数据库的清理脚本,默认却加载了整个HTTP栈、中间件、视图编译器甚至队列监听器。
- 先用
php artisan --no-ansi --profile跑一次,看耗时分布——--profile会输出各阶段耗时,重点关注Application resolved和Command starting之间的延迟 - 检查
app/Console/Kernel.php的$commands数组,删掉没用的自定义命令类引用(它们会在启动时被反射扫描) - 避免在
handle()里调用app()->make(...)或resolve(...)获取服务,改用构造函数注入;否则每次执行都触发容器全量解析
怎么让Artisan命令跳过环境检查和配置加载
开发期调试命令时,你并不需要完整的 .env 解析或 config 缓存校验——尤其当 .env 文件缺失或格式错误,php artisan list 都可能直接报错退出。
本文共计932个文字,预计阅读时间需要4分钟。
命令行卡顿,通常不是命令本身的错误,而是它在启动Laravel应用时加载了过多不必要的组件。例如,一个仅读取数据库的清理脚本,默认却加载了整个HTTP栈、中间件、视图编译器甚至队列监听器。
- 先用
php artisan --no-ansi --profile跑一次,看耗时分布——--profile会输出各阶段耗时,重点关注Application resolved和Command starting之间的延迟 - 检查
app/Console/Kernel.php的$commands数组,删掉没用的自定义命令类引用(它们会在启动时被反射扫描) - 避免在
handle()里调用app()->make(...)或resolve(...)获取服务,改用构造函数注入;否则每次执行都触发容器全量解析
怎么让Artisan命令跳过环境检查和配置加载
开发期调试命令时,你并不需要完整的 .env 解析或 config 缓存校验——尤其当 .env 文件缺失或格式错误,php artisan list 都可能直接报错退出。

