Yerd:本地 PHP 开发环境
面向 macOS 与 Linux 的本地 PHP 开发桌面应用,一键运行 .test 站点、多版本 PHP 与数据库,无需 Docker。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v2.0.4
- 平台
- macOS、Linux
详细介绍
项目简介
Yerd 是一个面向 macOS 与 Linux 的本地 PHP 开发环境桌面应用。daemon(yerdd)、yerd 命令行和一个特权一次性助手 yerd-helper 全部打包在应用内,运行时不下载任何东西。
托盘优先的 GUI 只是那个约 8 MB 的后台 daemon 的瘦客户端:实时展示正在运行的内容,并可一键控制 PHP 版本、.test 站点、数据库、邮件捕获、Laravel dump、公开分享和站点级 HTTPS。每个按钮操作的都是 CLI 所用的同一个 daemon,因此图形界面与终端不会出现状态不一致。

主要功能
- 零配置站点:把项目放进 parked 文件夹,即可在
<name>.test上线,框架 web root 自动识别。 - 受信任的 HTTPS:由本地 CA 为每个站点签发证书,不需要
mkcert,也没有浏览器警告。 - 多 PHP 版本,并按站点固定版本。
- 原生 MySQL · MariaDB · PostgreSQL · Redis,不需要 Docker。
- 内置邮件捕获与实时 Laravel dump / 查询检查器。
- 一键公开分享站点:通过 Cloudflare Tunnel,无需 ngrok 账号、无需开放端口。
- Composer、Node、Bun 按需以独立二进制安装,不经过系统包管理器。
- 单个约 8 MB 的 daemon:无容器、无虚拟机、无 Electron。
- Rootless:安装时提权一次,日常使用从不提权。
- 没有管理员权限也能用:无法路由
.test时,可通过http://localhost:8080/~<name>.test访问任意站点。 - 自我诊断:
yerd status与yerd doctor。
安装与使用
从 releases 页面 下载对应平台的安装包:
| 平台 | 安装包 | 安装方式 |
|---|---|---|
| macOS (Apple Silicon) | Yerd_MacOS_AppleSilicon_v<ver>.dmg |
打开后拖入 Applications |
| Linux · Debian/Ubuntu (x86-64) | Yerd_Linux_x86_64_v<ver>.deb |
sudo apt install ./Yerd_Linux_x86_64_v<ver>.deb |
| Linux · Debian/Ubuntu (arm64) | Yerd_Linux_Arm64_v<ver>.deb |
sudo apt install ./Yerd_Linux_Arm64_v<ver>.deb |
| Linux · Arch (x86-64) | Yerd_Linux_x86_64_v<ver>.pkg.tar.zst |
sudo pacman -U ./Yerd_Linux_x86_64_v<ver>.pkg.tar.zst |
| Linux · Fedora (x86-64) | Yerd_Linux_x86_64_v<ver>.rpm |
sudo dnf install ./Yerd_Linux_x86_64_v<ver>.rpm |
| Linux · Fedora (arm64) | Yerd_Linux_Arm64_v<ver>.rpm |
sudo dnf install ./Yerd_Linux_Arm64_v<ver>.rpm |
首次启动时应用会拉起内置 daemon,并引导你完成一次性的 sudo yerd elevate,用于信任本地 CA、路由 *.test 并绑定 80/443 端口。之后的所有操作都以普通用户身份运行。
yerd 命令行随应用一起提供:Linux 上由 .deb/.pkg.tar.zst 安装到 PATH;macOS 上在 Settings → Terminal CLI → Install 中安装。
sudo yerd elevate # 信任 CA · 路由 *.test · 允许 80/443
快速上手
安装 PHP 版本:
yerd install php 8.5 # 下载并安装一个 PHP 版本
yerd use 8.5 # 设为全局默认
添加并保护站点:
yerd park ~/Sites # ~/Sites/blog -> http://blog.test
yerd link my-app ~/code/my-app # -> http://my-app.test
yerd secure my-app # -> https://my-app.test(受信任本地 CA)
yerd use my-app 8.3 # 仅将该站点固定到某个 PHP 版本
检查并修复环境:
yerd status # 正在运行什么
yerd doctor # 诊断问题
yerd doctor fix # 应用安全的修复
公开分享站点:
yerd tunnel install # 一次性:获取 cloudflared
yerd tunnel share app # -> https://calm-river-1234.trycloudflare.com
yerd tunnel stop app # 恢复为不公开
CLI 命令分组
| 分组 | 命令 |
|---|---|
| Sites | sites、park、unpark、link、unlink、root |
| HTTPS | secure、unsecure |
| PHP | use、install php、uninstall php、update php、restart php、list php、list parked、set php、unset php |
| Tooling | tools、install tool、uninstall tool、path install|uninstall|print |
| Services | services、service available|install|change-version|uninstall|start|stop|restart|set-port|logs |
| Databases | db list|create|drop|backup|restore |
mail list|show|clear |
|
| Sharing | tunnel install|share|stop|status|login|create|delete|list|route|set-host|publish|unpublish |
| Diagnostics | ping、status、doctor、doctor fix |
| Elevation | elevate [trust|resolver|ports]、unelevate |
| Daemon | restart daemon |
| Self-update | update [--yes] [--edge|--stable] |
| Uninstall | uninstall [--yes]、uninstall php、uninstall tool |
任何命令加上 --json 都能得到机器可读的输出。
注意事项
- Windows 暂不支持,官方说明为计划中;目前可在 macOS 与 Linux 上运行。
- Arch 用户:如果旧 v1(Go 版)残留了
/usr/bin/yerd,需要先删除,否则 pacman 会拒绝覆盖它不拥有的文件;安装或升级前先执行pacman -Syu,让应用链接的 WebKit/GTK 库版本一致。 - 日常运行不需要 root:只有一次性
sudo yerd elevate(信任 CA、配置 DNS resolver、授予端口能力)需要提权。 - 在无法提权的受限机器上,
.test无法路由时,站点仍可通过http://localhost:8080/~<name>.test访问。
本作品整理自 GitHub 开源项目 forjedio/yerd,原作者 @forjedio,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v2.0.4当前版本
新增按 PHP 版本的设置覆盖与自定义 ini 指令、Yerd MCP server、旧版 PHP(7.4/8.0/8.1)支持、局域网共享 .test 站点、Laravel Scout 共享 Meilisearch、邮件附件与可点击链接,并重构界面。
评论