跳转到主内容
极星编程网:以代码为星,赴技术山海!

phpEnv怎么安装Permify phpEnv部署权限控制引擎方法

phpEnv 无法集成或安装 Permify,因二者技术栈不同:phpEnv 是 PHP 本地开发环境工具,Permify 是独立的 Go 编写的授权服务,需单独运行并通过 HTTP 调用。 php Env 本身不提供 Permify 的集成支持,也不能直接“安装 Permify”——它只是一个 Windows 下的 PHP + Web 服务器(Apache/Nginx)+ MySQL/Redis 等本地开发环境工具,而 Permify 是一个独立的、用 Go 编写的授权服务,需以二进制或 Docker 方式运行,与 PHP 运行时无依赖关系。 Permify 不能作为 phpEnv 的“组件”安装 你无法在 phpEnv 界面里点一下就装上 Permify,原因很直接: Permify 不是 PHP 扩展,也不是 Composer 包,
composer require permify/permify
会失败 phpEnv 启动的是 PHP-FPM + Apache/Nginx 进程,而 Permify 是一个监听
3476
端口的 Go 服务,两者进程模型、语言栈、启动方式完全不同 phpEnv 的“软件商店”里没有 Permify,其生态聚焦于 PHP 开发辅助(如探针、phpinfo、Composer 命令封装),不覆盖外部微服务 想在 phpEnv 环境中对接 Permify,得单独运行 Permify 服务 典型做法是:让 phpEnv 负责你的 PHP 应用(比如 Laravel 后台),同时在本机另起一个 Permify 实例,PHP 应用通过 HTTP 请求(
http://localhost:3476
)调用它。操作要点如下: 从 GitHub Releases 下载对应 Windows 的
permify_*.zip
(如
permify_0.12.0_windows_amd64.zip
) 解压后双击
permify.exe
或命令行运行:
permify.exe serve --database-engine=memory
(开发用内存 DB 最简) 确认服务已启动:
curl http://localhost:3476/health
应返回
{"status":"ok"}
在你的 PHP 代码里用 Guzzle 或
file_get_contents()
请求
http://localhost:3476/v1/tenants
等接口,注意处理跨域或连接超时 别把 Permify 和 phpEnv 的端口冲突——phpEnv 默认占
80
/
443
/
3306
,Permify 默认用
3476
,一般不撞,但若改过需检查 常见报错:PHP 调用 Permify 时 connection refused 这不是 phpEnv 配置问题,而是 Permify 根本没起来,或防火墙/杀软拦截了本地端口。排查顺序: PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 立即学习 “ PHP免费学习笔记(深入) ”; 任务管理器里看有没有
permify.exe
进程;没有就说明没运行 cmd 执行
netstat -ano | findstr :3476
,没输出 = 服务未监听 phpEnv 的“TCP端口监控”功能只扫它自己启用的服务(Apache/Nginx/MySQL),对 Permify 无感知,别指望它显示 如果用
--database-engine=postgres
,确保 PostgreSQL 已启动且
database-uri
地址可连(phpEnv 自带的 PostgreSQL?不,它默认只带 MySQL) Windows Defender 防火墙可能静默阻止新 exe 监听,首次运行时留意弹窗,或临时关闭测试 真正容易被忽略的是:Permify 的配置和数据模型(schema、tenant、relationship)完全独立于 phpEnv,PHP 应用只是它的客户端。你得自己维护 Permify 的 schema 文件、用
permify write-schema
推送,而不是指望 phpEnv 提供图形化界面来管理这些——它不负责这部分。

相关文章