跳到正文
发现
Yerd:本地 PHP 开发环境
桌面应用开发者工具

Yerd:本地 PHP 开发环境

面向 macOS 与 Linux 的本地 PHP 开发桌面应用,一键运行 .test 站点、多版本 PHP 与数据库,无需 Docker。

admin
发布于 2026-10-28
浏览
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 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 整理,以原仓库为准。

更新记录

  1. v2.0.4当前版本

    新增按 PHP 版本的设置覆盖与自定义 ini 指令、Yerd MCP server、旧版 PHP(7.4/8.0/8.1)支持、局域网共享 .test 站点、Laravel Scout 共享 Meilisearch、邮件附件与可点击链接,并重构界面。

评论