一款 macOS 原生 PHP 开发环境工具,5 万+ 开发者每天都在用,凭什么?

前言

如果你是一个 Laravel 或 PHP 开发者,大概率对以下场景不陌生:

  • 装个 MAMP/XAMPP,臃肿得像开了一台虚拟机
  • 搞个 Laravel Valet,依赖 Homebrew,一不小心 brew update 就炸
  • 用 Laravel Sail,Docker 一跑,笔记本风扇直接起飞
  • 手动编译 PHP 扩展?那简直是噩梦

直到我遇到了 Laravel Herd。一句话总结:它是 macOS 上最优雅的 PHP 本地开发环境,没有之一。


一、Herd 是什么?

Laravel Herd 是由 Laravel 官方团队(Beyond Code)打造的原生 macOS 开发环境工具。

它不像 MAMP 那样是重量级 App,也不像 Valet 那样依赖 Homebrew 全家桶。Herd 自己打包了所有必要的二进制文件——PHP、Nginx、dnsmasq、Node.js——安装即用,零依赖。

简单说:下载 → 拖到 Applications → 打开 → 搞定。

目前 50,000+ 开发者每天都在使用 Herd,它也是我本地开发的主力工具。


二、为什么 Herd 这么好用?

2.1 极速安装,零配置

下载只是一个几十 MB 的 DMG 文件。安装过程无感,不需要:

  • ❌ 不需要 Homebrew
  • ❌ 不需要手动配置 PHP
  • ❌ 不需要折腾 Nginx 配置文件
  • ❌ 不需要安装 Composer(它自带)

打开 Herd 后,所有 *.test 域名自动解析。你把 Laravel 项目放在 ~/Herd/ 目录下,直接用 http://项目名.test 访问,自动 HTTPS。

PHP、Composer、Laravel、Node 全部开箱即用:

herd --version
php --version
laravel --version
composer --version

2.2 多版本 PHP 无缝切换

做 Laravel 开发的基本都遇到过这种情况——不同项目需要不同 PHP 版本。

Herd 支持一键安装/切换 PHP 版本。我目前装了三个版本:

版本用途
PHP 8.4全局默认,主力版本
PHP 8.3兼容测试
PHP 8.1维护旧项目

切换只需点击一下,或者在终端运行:

herd use php@8.3
herd use php@8.4

Nginx、PHP-FPM 会自动重新加载,秒级生效。不比 Valet 的 valet use 慢,但稳定得多。

2.3 Node.js 版本由 nvm 托管

Herd 集成了 nvm,通过 GUI 就能管理 Node 版本。对于前端 + PHP 混合开发(比如 Inertia + Laravel)来说,不用再额外折腾 nvm 了。

2.4 站点管理异常省心

Herd 默认把 ~/Herd/ 下的所有目录自动识别为站点。你也可以手动在 GUI 里添加任意目录。

每个站点自动绑定 站点名.test 域名,自动签发 SSL 证书(HTTPS 零成本)。对于前后端分离的项目,还可以配置 Nginx 代理到不同的端口。

如果你有一个 Laravel + Nuxt 项目,Herd 可以同时代理 PHP-FPM 和 Node 开发服务器。

如果你想把站点配置分享给团队,Herd 支持 herd.yml 文件——放进 Git 仓库,团队成员 clone 后直接运行,环境配置一致。

2.5 Herd Pro:开挂的调试体验

免费版 Herd 已经非常好用了,但 Herd Pro 才是真正的生产力提升。以下是 Pro 的几个杀手级功能:

Debug Dump 面板

dump($user);
dd($users);

这些 Laravel 开发者每天用的调试函数,在 Herd Pro 里不再是简陋的 var_dump 输出。Herd 会捕获所有 dump()dd() 输出,在一个独立的Dump 窗口里漂亮地格式化显示,不影响页面本身

  • 区分 Dumps、Queries、Jobs、Views、Requests、Logs
  • 支持搜索和过滤
  • SQL 查询高亮显示

邮件捕获

开发时经常会发邮件(密码重置、通知等),传统做法是配 Mailtrap 这种第三方服务。Herd Pro 内置了邮件捕获面板,所有发出的邮件直接被拦截到 GUI 里查看,不需要任何第三方依赖

Xdebug 集成

Herd Pro 对 Xdebug 的支持非常丝滑:

  • 一键开启/关闭(不用改 php.ini)
  • 自动检测 IDE
  • 性能开销极低

Log Viewer

直接在内置面板里查看和搜索 Laravel 日志文件,不用再 tail -f storage/logs/laravel.log

2.6 内置服务管理(Pro)

Herd 内置了一键启停各类服务,无需额外安装:

服务用途
MySQL / MariaDB关系型数据库
PostgreSQL高级关系型数据库
MongoDBNoSQL 数据库
Redis / Valkey缓存/队列
Meilisearch / Typesense全文搜索
MinIOS3 兼容对象存储
Laravel ReverbWebSocket 服务
Mailpit邮件捕获
RustFS高性能文件系统

每个服务都是一键启动、停止、重启,GUI 操作完全图形化。再也不用 brew services start redis 了。

2.7 Herd CLI

虽然 GUI 已经很完善了,但 Herd 也提供了一套完整的 CLI 工具:

herd php:list          # 列出PHP版本
herd use php@8.3       # 切换PHP版本
herd services          # 列出所有服务状态
herd link              # 链接站点
herd secure            # 启用HTTPS
herd share             # 通过Expose分享站点
herd tinker            # 直接进入Laravel Tinker

2.8 与 Laravel Forge 的深度集成

本地开发用 Herd,生产部署用 Laravel Forge。两者可以关联——在 Herd 里打开项目右键就能直接 Deploy to Forge,本地到线上无缝衔接。


三、Herd vs 其他方案

特性HerdLaravel ValetLaravel SailMAMP
安装复杂度⭐⭐⭐ 拖拽安装⭐⭐ 需 Homebrew⭐ Docker 依赖⭐⭐ 安装包
PHP 多版本✅ 原生支持✅ 需 Homebrew✅ Docker 镜像❌ 需 Pro
GUI 界面✅ 美观原生❌ 纯 CLI❌ 纯 CLI✅ 但老旧
HTTPS✅ 自动✅ 自动✅ 需配置⚠️ 需配置
调试工具✅ Pro 强大
服务管理✅ Pro 一键管理❌ brew 手动✅ Docker Compose✅ 部分
资源占用⭐ 极低⭐ 低❌ 较高⚠️ 中等
跨平台macOS / WindowsmacOS only全平台macOS / Windows
Laravel 集成⭐ 最完美⭐ 好⭐ 好❌ 一般
邮件调试✅ Pro 内置
性能⭐ 原生极快⭐ 原生⚠️ Docker 开销⚠️ 较慢

四、适合谁用?

  • Laravel 开发者 — Herd 就是为 Laravel 量身定做的
  • WordPress 开发者 — Herd 也支持 WordPress 驱动
  • PHP 全栈开发者 — 任何 PHP 框架都能跑
  • 从 Valet 迁移的用户 — 第一次启动 Herd 时会自动检测并迁移 Valet 站点、证书和设置
  • 从 MAMP 迁移的用户 — 官方有详细的迁移指南

五、一些真实感受

用 Herd 大半年了,几个让我回不去的点:

  1. 再也不用折腾 Homebrew。以前 brew update 一次提心吊胆,brew upgrade 一次 PHP 就不知道出什么幺蛾子
  2. Dump 面板太好用。Pro 版这个功能绝对对得起价格,调试效率翻倍
  3. 多版本 PHP 零摩擦。同时维护 Laravel 11(用 PHP 8.2+)和旧项目(PHP 8.1),切换毫无感觉
  4. 服务管理太省心。Redis、MySQL、Meilisearch 一键启停,而且是每个项目独立管理,不是全局
  5. 原生 macOS 体验。不是 Electron,不是 Web 套壳,是真的原生 Cocoa App,响应飞快

唯一的小问题:目前没有 Linux 版本。官方明确说了只支持 macOS 和 Windows。但对我这种 Mac 主力开发的人来说,完全够用。


结语

如果你还在用 MAMP 或者裸装 Homebrew 搞 PHP 环境,强烈推荐试试 Herd。它不需要你改变工作流,但会悄悄把你的开发体验提升一个档次。

Laravel Herd 不是"又一个本地环境工具"——它是本地 PHP 开发的标准答案

免费版已经能覆盖 80% 的日常需求,Pro 版($99/年)对专业开发者来说性价比极高。官方也提供 Teams 版本。


常用链接: