Laravel 是集成路由、数据库、模板、Artisan 和 .env 的开箱即用系统;新手应跳过概念学习,直接运行 php artisan serve 启动页面,并先验证 PHP ≥8.1、Composer ≥2.5、避免与 Apache/Nginx 冲突。
Laravel 不是“又一个 PHP 框架”,它是把路由、数据库操作、模板渲染、命令行工具(
)、环境配置(
)全打包进一个开箱即用工作流的系统。新手能快速上手,前提是跳过“先学完所有概念”这个陷阱,直接从
能跑出页面开始。
怎么确认本地环境真能跑 Laravel?
别急着敲
,先验证三件事:
终端里运行
,输出必须是
或更高(Laravel 11 要求
)
运行
,确保有
;旧版可能卡在依赖解析
别用 XAMPP/MAMP 启动项目——
是独立 HTTP 服务,和 Apache/Nginx 冲突反而报错
如果
启动后浏览器打不开
,大概率是端口被占(比如另一个 Laravel 项目还在跑),加
换个端口试试。
第一次写路由和视图,为什么返回空白或 404?
常见错误不是代码写错,而是文件位置或命名不对:
里的
必须放在
标签内,且文件不能有 UTF-8 BOM 头(VS Code 默认保存就是无 BOM)
用
时,对应文件必须是
,少
后缀或放错目录都会报
Blade 文件里如果写了
,但
不存在,也会白屏——初学建议先写纯 HTML 视图,不继承
数据库连不上,
报错怎么办?
90% 的问题出在
配置和 MySQL 状态:
Laravel 13.2.0
PHP中文网提供Laravel 13.2.0版本下载,Laravel框架 是基于 PHP 8.3+ 的高性能框架,官方推荐通过 Composer 安装。它内置 AI SDK、JSON:API Resources 及原生向量搜索,支持属性驱动开发与队列路由,大幅提升开发效率。相比旧版,13.2.0 优化了缓存 TTL 管理与实时通信,无需 Redis 即可横向扩展。作为现代 Web 开发首选,它兼顾安全与极速体验,助您快速构建企业级应用。
下载
别写
,改用
(尤其 macOS 使用 Homebrew MySQL 时)
必须是已创建的空库名,Laravel 不会自动建库;用
先手动建
执行
前,务必先运行
——
修改后 Laravel 会缓存配置,不清理就永远读不到新值
如果提示
,说明 MySQL 进程根本没起来,不是 Laravel 的锅。
用
生成的控制器,为什么路由不生效?
关键在命名空间和路由写法是否匹配:
生成命令是
,那类名就是
,完整命名空间是
路由里必须写成
,不能漏掉
,也不能写成字符串
(Laravel 9+ 已弃用该写法)
控制器方法里如果要返回视图,记得用
对应
,路径用点号分隔,不是斜杠
最常被忽略的是:修改了
下的文件后,没清掉 OPCache(尤其 Windows + XAMPP 组合),导致代码改了但行为不变——此时重启 PHP 服务或临时关掉 OPCache 更快定位问题。
artisan.envphp artisan servecomposer create-projectphp -vPHP 8.1PHP 8.2+composer --versionComposer 2.5+php artisan servephp artisan servehttp://127.0.0.1:8000--port=8001routes/web.phpRoute::get('/test', function () { return 'ok'; });view('welcome')resources/views/welcome.blade.php.blade.phpView [welcome] not found@extends('layouts.app')resources/views/layouts/app.blade.phpphp artisan migrate.envDB_HOSTlocalhost127.0.0.1DB_DATABASEmysql -u root -p -e "CREATE DATABASE myapp;"php artisan migratephp artisan config:clear.envSQLSTATE[HY000] [2002] Connection refusedartisan make:controllerphp artisan make:controller UserControllerUserControllerApp\Http\Controllers\UserControllerRoute::get('/users', [UserController::class, 'index']);::class'UserController@index'return view('users.index');resources/views/users/index.blade.phpapp/Http/Controllers/