pocketbase 是用 go 编写的单二进制服务,完全不依赖 php 或 phpenv;部署只需下载对应二进制、赋权并运行 ./pocketbase serve,监听 8090 端口提供 api 和 admin ui。

phpEnv 并不是一个官方或主流的 PHP 环境管理工具,它不是类似 phpenv、phpbrew 或 asdf 的版本管理器,也不是 Pocketbase 的依赖环境。你搜索到的 “phpEnv” 很可能是混淆了名称,实际想用的是:
- 本地开发时的轻量 PHP 运行环境(比如 PHP 内置服务器、Laravel Valet、或 Mac 上用 Homebrew 装的 PHP)
- 或误把 Pocketbase 的运行依赖理解成“需要 PHP 环境”
但关键事实是:
Pocketbase 是用 Go 编写的单二进制后端服务,完全不依赖 PHP。它不需要、也不支持 phpEnv、PHP-FPM、Apache 或任何 PHP 运行时。
Pocketbase 部署根本不需要 PHP 环境
Pocketbase 自带 Web 服务、SQLite 存储、实时订阅、Admin UI 和 API,启动命令就是:
./pocketbase serve它监听
http://127.0.0.1:8090,所有接口(包括 Admin 控制台)都通过该端口提供。
如果你在文档或社区里看到 “phpEnv + Pocketbase”,那基本是以下情况之一:
- 把
phpenv(PHP 版本管理器)手误写成了phpEnv - 混淆了 Pocketbase 和某个 PHP 写的同类工具(如
Supabase的 PHP 客户端、或Directus的 PHP 部署方案) - 试图用 PHP 做反向代理或网关层(比如 Nginx + PHP-FPM 转发请求到 Pocketbase),但这属于额外架构,非必需
在轻量服务器(如腾讯云轻量、AWS EC2 Micro)上正确部署 Pocketbase
- 下载对应系统架构的二进制(Linux AMD64/ARM64、macOS、Windows):
wget https://github.com/pocketbase/pocketbase/releases/download/v0.23.3/pocketbase_0.23.3_linux_amd64.tar.gz
- 解压并赋予执行权限:
tar -xzf pocketbase_0.23.3_linux_amd64.tar.gz && chmod +x pocketbase
- 启动(生产建议用 systemd 或 nohup):
nohup ./pocketbase serve --http=0.0.0.0:8090 --dashboard=0.0.0.0:8091 > pb.log 2>&1 &
- 配置防火墙放行
8090(API)和8091(Admin UI,可选)
注意:Pocketbase 默认使用当前目录下的 pb_data/ 存 SQLite 文件,确保该目录有读写权限。
如果你真需要 PHP 和 Pocketbase 共存(极少数场景)
比如前端用 PHP 渲染页面,再通过 HTTP 请求调用 Pocketbase API:
- PHP 只需能发 cURL 请求即可,无需特殊扩展
- 不要尝试让 PHP 解析或托管 Pocketbase —— 它不是 PHP 应用
- 避免把
public/目录设为 Pocketbase 的 Web 根;它的静态资源已内嵌,由自身 HTTP 服务直接提供
常见翻车点:
- 把 Pocketbase 放进 Nginx 的
root目录下,期望用index.php加载 —— 它没有index.php - 给 Pocketbase 配置
fastcgi_pass或php_admin_value—— 完全无效,会报 502 - 在宝塔面板里给 Pocketbase 创建“PHP 网站” —— 应该建“静态网站”或直接用终端运行
Pocketbase 的轻量性恰恰来自它彻底摆脱了 PHP 生态链。部署时最该检查的不是 PHP 版本,而是:
- 你的服务器是否允许非 80/443 端口对外访问(很多轻量服务器默认只开 80、443、22)
-
pb_data/目录是否被 SELinux 或只读文件系统锁定 - 是否用
--http显式绑定了0.0.0.0,而非默认的127.0.0.1(否则外网无法访问)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











