phpEnv 与 GrowthBook 完全不兼容,因 phpEnv 是 Windows 图形化集成环境,无 CLI/Composer 支持且网络受限,而 GrowthBook SDK 依赖 CLI、Composer、curl/json 扩展及外部 CDN 访问。

phpEnv 和 GrowthBook 是两套完全不兼容的工具链,不能混用。phpEnv(Windows 下的集成环境)不支持 GrowthBook 的 SDK 集成,强行安装会失败或功能不可用。
phpEnv 是什么,它和 GrowthBook 为什么冲突
phpEnv 是 Windows 平台的「一键式 PHP 集成环境」,本质是封装了 Apache + MySQL + PHP 的图形化控制面板,所有 PHP 运行都走它内置的 php.exe,不提供命令行编译、扩展管理或 Composer 环境隔离能力。
GrowthBook 的 PHP SDK(growthbook/growthbook)依赖 Composer 加载、需要正常运行的 CLI 环境、要求 curl / json 扩展启用,且必须能访问外部 CDN(如 https://cdn.growthbook.io)。而 phpEnv 默认禁用 CLI 输出、不暴露 Composer、网络策略常拦截外部请求。
- phpEnv 启动的 PHP 进程由 Apache 模块托管,
php -v在终端里根本调不到它 - phpEnv 的
php.ini路径藏在安装目录深处(如D:\phpenv\php\php-8.2.12\php.ini),改了也不生效于 CLI - 它的「PHP 版本切换」只是换 Apache 模块,不是真正的多版本运行时,无法满足 GrowthBook 对运行时特性的要求
想用 GrowthBook 做 AB 测试,该用什么替代 phpEnv
直接弃用 phpEnv,改用标准 PHP 开发栈:CLI + Composer + Web 服务器(Nginx/Apache)独立部署。这是 GrowthBook 唯一被验证可行的路径。
立即学习“PHP免费学习笔记(深入)”;
- 安装官方 PHP(从 windows.php.net 下 ZIP 包),解压后手动加到
PATH - 用
php -v和php --ini确认 CLI 可用、扩展已启用(尤其curl,json,mbstring) - 运行
composer require growthbook/growthbook,确保无报错 - Web 服务可用
php -S localhost:8000快速启动,或配 Nginx + php-fpm
这样你才能真正执行 GrowthBook 的 $growthbook->isOn("my-feature") 和 $growthbook->loadFeatures() —— 它们全靠 CLI 初始化和 HTTP 请求支撑。
如果必须保留 phpEnv,有没有折中方案
有,但仅限「静态特征开关」,不支持实时加载、AB 分流、实验上报等核心能力。
- 把 GrowthBook 控制台导出的
features.json下载下来,存为本地文件 - 用
file_get_contents()读取并json_decode()解析,硬编码进逻辑 - 自己实现简单的
isOn()判断(只查key和value,忽略rules,experiment,coverage) - 放弃
getValue()的动态变体、放弃getViewedExperiments()上报
这种写法绕过了 SDK 的网络层和运行时逻辑,等于把 GrowthBook 降级成一个 JSON 配置读取器 —— 不推荐,尤其当你要做真实 AB 测试时,结果不可信。
真正的问题不在安装步骤,而在于 phpEnv 的设计目标和 GrowthBook 的运行模型根本不在同一维度。选对底层环境,比调通一行 composer require 重要得多。



















