flock - 原生运行的 PHP 与 Laravel 本地开发环境
flock 是一个面向 PHP 与 Laravel 的本地开发环境,在 macOS、Windows 和 Linux 上以原生进程运行 PHP、Node.js、数据库与 Web 服务器,不使用 Docker 或虚拟机。项目由 flock-php 维护,采用 AGPL-3.0 许可,截至 2026-11-08 获得 451 个星标。
flock 是一个面向 PHP 与 Laravel 的本地开发环境,目标是把「跑起一个本地站点」所需的域名、HTTPS、PHP 版本、数据库、邮件收件箱和调试工具收进一个应用里。按项目自述,它把 PHP、Node.js、数据库和 Web 服务器都作为原生进程运行,不使用 Docker,也不使用虚拟机;在 macOS 上是菜单栏应用,Windows 上是托盘应用,Linux 上是带顶栏图标的窗口,同时提供 flock 命令行。它适合需要在本机同时维护多个 PHP 项目、又不想为容器和虚拟化层付出额外管理成本的开发者;项目说明也强调,它虽然以 Laravel 为主要设计对象,但任何 PHP 项目都可以使用。
维护者与状态
仓库位于 GitHub 的 flock-php 组织下,维护者为 flock-php。仓库创建于 2026-10-14,最后一次提交在 2026-11-07。最新正式版本为 v1.0.0,发布于 2026-11-02。截至 2026-11-08,仓库获得 451 个星标。项目另有官网 flockphp.com。从时间线看,这是一个刚发布 1.0 不久的新项目,公开历史很短,版本号虽已到 1.0.0,但生态与文档仍在早期阶段,采用前值得留意这一点。
主要能力
以下能力均据项目 README 自述整理,未经独立验证:
- 带真实 HTTPS 的 .test 域名。把某个文件夹设为 park 目录,或单独链接一个项目,每个应用都会获得自己的
.test域名,包含子域名,HTTPS 在浏览器中不出现警告。 - 按项目指定 PHP 版本。PHP 8.1 至 8.5 可以并存,每个项目各自选择版本;Node.js 版本也可通过
.nvmrc指定。 - 一键安装数据库与服务。PostgreSQL、MySQL、MariaDB、MongoDB、Valkey、Meilisearch 和 RustFS 以原生进程运行并随开机启动;Typesense 支持 macOS 与 Linux,Redis 支持 macOS。
- 本地邮件收件箱。应用发出的邮件进入本地收件箱,每个应用一个,不会真的投递给真实收件人。
- dump 与请求时间线。
dump()和dd()的输出、查询、日志与视图按请求分组显示在时间线上,并可跳转到编辑器,项目称无需改动代码。 - 按需开启的 Xdebug。因为 Xdebug 会拖慢每个请求,默认关闭,需要时再打开。
- Git worktree 独立服务。每个 worktree 自动获得自己的域名并完成配置,包括数据库。
- 一条命令分享站点。通过 Cloudflare 隧道为本地站点生成公开链接。
- 面向 AI 编码代理。内置 MCP 服务器,让 Claude Code、Cursor 这类编码代理读取站点、邮件、dump 与错误信息。
使用入口
源码与问题反馈在 flock-php/flock 仓库;安装包与文档入口见官网 flockphp.com。据项目说明,安装方式是下载对应系统的安装程序,打开 Flock 后点击 Set up Flock。系统要求方面,macOS 需要 macOS 15 Sequoia 或更新版本且为 Apple 芯片;Windows 需要 Windows 10(2004)或 11 的 x64 版本;Linux 支持 Ubuntu 24.04 或更新版本、当前版本的 Fedora(x64 或 arm64),以及 Arch Linux(x64),安装包形式为 .deb、.rpm 或 AUR 中的 flockphp-bin。Linux 上需要 systemd-resolved 作为系统 DNS 解析器,且由于 /usr/bin/flock 已被系统文件锁工具占用,包内命令名为 flk,完成设置后 flock 也可用。Flock 需要占用 80 和 443 端口,若本机已有其他本地环境,需先停掉。
README 给出的快速开始流程如下:
cd ~/Code composer create-project laravel/laravel acme flock park flock secure acme cd acme flock pin php 8.5 flock services install postgres flock services create-db postgres acme
之后访问 https://acme.test 即可。项目还说明,源码构建时 Flock 是一个 Go 守护进程与 CLI(cmd/flock),各平台的原生应用分别用 SwiftUI(macOS)、WinUI 3(Windows)和 Rust 加 GTK 4 与 libadwaita(Linux)实现,仓库提供 make build、make test、make lint 与 make app 等目标。
许可与限制
许可证为 AGPL-3.0。项目自述没有付费层级、不需要账号,并以 AGPL-3.0 发布;README 提到 NOTICE 文件中包含针对 Windows App SDK 的附加许可说明,涉及分发或二次开发时应以仓库中的 LICENSE 与 NOTICE 原文为准。
已知限制主要来自项目自述:需要独占 80 与 443 端口,与其他本地开发环境不能同时运行;各平台有明确的系统版本与架构门槛,macOS 仅限 Apple 芯片;部分服务存在平台差异,Typesense 不支持 Windows,Redis 仅限 macOS;Xdebug 默认关闭,需要手动开启。此外,项目公开历史很短,1.0.0 发布于 2026-11-02,社区规模与长期维护情况尚待观察。项目声明与 Laravel 官方无隶属或背书关系。