phpenv是windows下开箱即用的php集成环境(含apache、mysql及多版本php),非unix系的phpenv;官方唯一可信下载地址为https://www.phpenv.cn/,安装须关闭杀毒软件、路径不含中文或空格、以管理员身份首次运行,并通过“端口检测”解决80/3306端口占用问题。

phpEnv 不是 phpenv,两者完全不同:前者是 Windows 下开箱即用的 PHP 集成环境(含 Apache、MySQL、PHP 多版本),后者是类 Unix 系统下基于 shell 的 PHP 版本管理工具。搞混会导致安装失败或命令根本不可用。
Windows 上 phpEnv 安装包从哪下、怎么装才不报错
官方唯一可信下载地址是 https://www.phpenv.cn/。别信第三方镜像或论坛打包版——2026 年 4 月起,部分非官网安装包已植入无效服务进程或修改 hosts 行为。
安装时必须注意:
- 关闭杀毒软件实时防护(尤其是 Windows Defender 的“基于信誉的保护”会拦截组件注册)
- 安装路径不能含中文、空格或符号(如
D:\phpenv\可以,C:\Program Files\phpEnv或D:\我的环境\会触发 Apache 启动失败) - 勾选“创建桌面快捷方式”,后续配置依赖该入口
- 首次运行需以管理员身份启动,否则 MySQL 服务无法注册为 Windows 服务
启动失败常见原因和对应检查点
点击“启动 Apache / MySQL”后图标仍是红色,不是软件坏了,大概率是端口或权限卡住:
- Apache 启动失败 → 检查 80 端口是否被 Skype、IIS 或另一个 phpEnv 实例占用:
netstat -ano | findstr :80 - MySQL 启动失败 → 查看
D:\phpenv\mysql\data\*.err日志末尾是否有Can't start server: Bind on TCP/IP port,有则说明 3306 被占 - 两个服务都启动不了 → 右键桌面快捷方式 → “以管理员身份运行”,再试一次
- 仍失败 → 打开 phpEnv 主界面 → “配置” → “端口检测”,它会自动扫描并建议可用端口
如何让不同项目跑在不同 PHP 版本上
phpEnv 本身不支持 per-project 版本切换(不像 phpenv 那样读 .php-version)。它的多版本是“并存安装 + 手动切换全局版本”:
- 先在 phpEnv 界面 → “软件管理” → 安装多个 PHP(如 7.4、8.2、8.3)
- 切换时点击右上角 PHP 版本号 → 选择目标版本 → 弹窗确认“将重启 Apache” → 点确定
- 切换后所有站点共用该版本,没有项目级隔离;若需真正隔离,得配合反向代理或改用 Docker
- 验证当前生效版本:访问
http://localhost/phpinfo.php(phpEnv 自带),看PHP Version行
最容易被忽略的是:phpEnv 切换 PHP 版本后,不会自动重载已加载的扩展(比如你装了 Redis 扩展,只在 8.2 下编译过,切到 8.3 就直接报 Class 'Redis' not found)。每个 PHP 版本的 ext 目录和 php.ini 完全独立,扩展必须按版本单独安装启用。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











