pocketbase 是 go 编写的静态二进制程序,与 phpenv 完全不兼容,须直接下载预编译包、解压并赋予执行权限后运行;其数据目录独立于 php 环境管理工具,仅依赖启动路径或 --dir 参数指定位置。

直接下载预编译二进制,别碰phpenv
phpenv 和 PocketBase 完全不兼容 —— phpenv install pocketbase 会报 Unknown version 'pocketbase',phpenv local pocketbase 会提示 command not found 或 exec format error。PocketBase 是 Go 写的静态二进制,不依赖 PHP,也不读 PHP_VERSION 等环境变量。你只需要一个能执行 ELF 文件(Linux)或 Mach-O(macOS)的终端。
下载、解压、运行三步到位
以当前最新版 v0.22.0 为例(截至 2026 年 6 月仍为稳定版):
- 下载:
wget https://github.com/pocketbase/pocketbase/releases/download/v0.22.0/pocketbase_0.22.0_linux_amd64.zip - 解压:
unzip pocketbase_0.22.0_linux_amd64.zip - 加执行权限并运行:
chmod +x pocketbase && ./pocketbase serve
首次运行会自动创建 pb_data/ 目录(默认在当前工作目录),并在终端输出类似 Server started at http://localhost:8090/。浏览器打开 http://localhost:8090/_/ 就能注册管理员账号。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
常见启动失败原因和应对
最常卡在 failed to create data dir,这不是权限问题就是路径不对:
- 确保当前目录可写(比如别在
/usr/local/下直接运行,除非用sudo) -
--dir参数可指定数据目录:./pocketbase serve --dir /home/yourname/pb_data - 端口被占?换端口:
./pocketbase serve --http=8091 - 想后台常驻?别用
&,用systemd或nohup ./pocketbase serve > pb.log 2>&1 &
真要集成到 PHP 项目里,只走 HTTP API
PHP 脚本或 Web 页面调用 PocketBase,唯一合理方式是发 HTTP 请求:
- PocketBase 必须已独立运行(比如
./pocketbase serve --http=8091) - PHP 用
curl_init()或 Guzzle 访问http://localhost:8091/api/collections/users/records - 前端 JS 直接请求会跨域失败 —— 启动时加
--cors-origins=*,或用 Nginx 反向代理 - 别试图把
pocketbase文件扔进~/.phpenv/versions/,那个目录只认 PHP 二进制,校验头就过不去
真正容易被忽略的是:PocketBase 的数据目录位置和任何 PHP 环境管理工具完全无关,它只认自己启动时所在路径或 --dir 指定的路径。










