本节摘要:开工前要备齐三样料:PHP 运行环境、Composer 依赖管理器、一个跑得起来的 Laravel 骨架。本节给出 Windows 与 macOS 的安装要点,讲清 Composer 依赖解析与 PSR-4 自动加载的原理,对比 Valet、Homestead、Docker 三种工棚方案的取舍,最后把新项目跑起来并用 artisan 完成第一次体检。
上一节认识了工地全貌,这一节轮到搭自己的工棚。环境问题是最劝退新手的一关:报错信息天书一样,搜出来的答案互相矛盾。本节的策略是把"要装什么、为什么装它、装完怎么验"三件事一次讲透,让你出问题时知道往哪查。
Composer 做两件事:按 composer.json 声明解析并下载依赖;按 PSR-4 约定生成自动加载器。理解第二件事,你就明白为什么 Laravel 项目里类文件放对目录就能被找到——vendor 里生成的 autoload 文件把命名空间前缀映射到了目录。
{ "name": "mycompany/workorder", "require": { "php": "^8.2", "laravel/framework": "^11.0" }, "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/" } } }
# 常用备料命令速查 composer install # 按 lock 文件原样装依赖(新机器首次拉项目用它) composer update # 重新解析并升级依赖(慎用,会动 lock 文件) composer require laravel/horizon # 新增一个包并写入 json composer dump-autoload # 只重建自动加载映射(新增类文件找不到时跑它)
💡 关键直觉:install 认 lock 文件,update 认 json 文件。团队协作里,提交 lock 文件、少跑 update,能让所有人的依赖版本完全一致——工地上材料批次统一,才不会出现"我这没事啊"的经典扯皮。
| 方案 | 原理 | 适合谁 | 代价 |
|---|---|---|---|
| 直装 PHP(含 macOS Valet) | 本机原生跑 PHP 与站点 | macOS 个人开发,追求轻快 | Windows 体验一般,多项目 PHP 版本切换麻烦 |
| Laravel Homestead | 官方预配置 Vagrant 虚拟机 | 想要开箱即用的完整 Linux 环境 | 占内存,启动慢,近年热度下降 |
| Docker(推荐) | 容器编排整套服务 | 团队协作、需要贴近生产环境 | 首次学习成本高,镜像占磁盘 |
我的建议很直接:个人练手用直装加 artisan serve 起步,团队项目用 Docker(Laravel 官方的 Sail 就是一套现成编排),Homestead 除非你在维护相关旧项目,否则不必再入坑。
# 1. 确认 PHP 版本与关键扩展(Windows 可用 php -m 看扩展列表) php -v php -m | grep -E "openssl|pdo|mbstring|tokenizer|xml|fileinfo" # 2. 建项目:两种方式等价,任选其一 composer create-project laravel/laravel workorder # 或安装官方全局安装器后: laravel new workorder # 3. 进入项目目录,生成应用密钥(Laravel 11 的 create-project 已自动执行) cd workorder php artisan key:generate # 4. 起开发服务器 php artisan serve # 输出类似:Server running on http://127.0.0.1:8000
浏览器访问后看到 Laravel 欢迎页,工棚就算搭好了。接着做一次全面体检:
php artisan about
这条命令会列出 PHP 版本、已加载扩展、缓存驱动、队列驱动、会话驱动等一整版环境报告。它也是日后排查"为什么队列没跑"这类问题的第一入口——先看报告里各驱动是什么,再谈为什么。

⚠️ 新手最容易踩的坑:PHP 装了但命令行找不到、扩展没开、.env 没建(Laravel 11 已自带 .env,老教程让你手动复制的情况不适用了)、端口被占。逐条对号入座:
工棚搭好了,下一章我们展开工地平面图:目录为什么这样分区、服务容器这台调度机器怎么运转、一个请求在内核里的完整旅程。