新手入门应选 laravel 9:它支持 php 8.0+、安装简单、教程丰富、错误提示清晰、第三方包兼容成熟;laravel 11 强制 php 8.2+、环境门槛高、文档生态不全,易导致新手卡在配置和报错中。

新手入门直接选 Laravel 9。
环境门槛低,装得上才学得下去
Laravel 9 只要求 PHP 8.0+,本地用 PHP 8.1 就能顺利运行;Laravel 11 强制 PHP 8.2+,而多数新手开发环境(如 macOS 自带 PHP、XAMPP、WAMP)默认仍是 PHP 8.1 或更低——连 composer create-project 都会卡在“Your PHP version does not satisfy that requirement”。
- 装 Laravel 9:只要 PHP ≥8.0,composer create-project laravel/laravel myapp "9.*" 一步到位
- 装 Laravel 11:得先升级系统 PHP 到 8.2+,再确认 Composer ≥2.5,否则可能静默失败或拉错依赖
教程和文档全匹配,抄代码不报错
目前主流中文/英文入门资源(官方指南、Laracasts、Bilibili 热门视频)90% 基于 Laravel 9 或 8 编写。用 Laravel 11 学习,容易遇到:
- php artisan serve 默认启用 HTTPS 重定向 → 浏览器提示“不安全连接”,新手误以为配置崩了
- 官方文档里写的 Arr::fetch() 在 11 中已被移除 → 复制代码直接报 Class "Arr" not found
- 迁移文件中 $table->id() 是 11 新语法,但旧教程教的是 $table->bigIncrements('id'),混用导致 Call to undefined method
第三方包稳得住,别让权限、搜索、表单验证拖垮第一天
新手项目很快会用到 spatie/laravel-permission、laravel/scout、laravel/sanctum 等常用包。这些包对 Laravel 9 的支持已非常成熟;而 Laravel 11 的适配几乎全在 alpha/beta 阶段:
- 执行 composer require laravel/sanctum 可能触发冲突:“Conclusion: don’t install laravel/framework v11.0.0”
- 想装 laravel/nova?当前稳定版只支持到 Laravel 10,11 下需手动 fork 修改 composer.json
- spatie/laravel-backup v8 支持 Laravel 10,但不兼容 11 —— 升级前必须等它发 v9
错误提示更懂新手,少走冤枉路
Laravel 9 的报错更直白:数据库连不上,会明确指出是 .env 配置错还是 MySQL 服务没开;Laravel 11 因底层重构(如事件调度器重写、HTTP 内核分层变化),同样一个 Class not found 错误,堆栈更深、关键词更模糊,新手很难判断是命名空间写错、服务提供者漏注册,还是缺 PHP 扩展。
不复杂但容易忽略——版本不是越新越好,而是越稳越适合起步。











