HedgeDoc是Node.js应用,依赖Node运行时、PostgreSQL/MariaDB及Docker等现代环境,而Windows版phpEnv仅提供老旧Apache+PHP+MySQL,无Node支持、端口冲突、数据库不兼容且缺乏必要配置能力,故无法运行。

phpEnv 和 HedgeDoc 是两类完全不同的工具,不能协同使用——phpenv 是 Shell 级 PHP 版本管理器(Linux/macOS),而所谓“phpEnv”(带大写 E)是 Windows 上早已停止维护的集成包(Apache + MySQL + PHP 一键托盘软件),两者名字相似但技术栈、目标平台和设计目的均无交集。试图用 Windows 版 phpEnv 安装或运行 HedgeDoc 会失败。
为什么 phpEnv(Windows 托盘版)无法运行 HedgeDoc
HedgeDoc 是一个 Node.js 应用(后端基于 Express + PostgreSQL/MySQL,前端为 React),它不依赖 Apache 或 PHP 解释器执行核心逻辑;而 Windows 版 phpEnv 只提供 php-cgi、httpd.exe 和 mysqld.exe,没有 Node.js 运行时、npm、Docker 或任意现代容器支持能力。
- 启动 HedgeDoc 需要
node命令和npm install构建流程,phpEnv 完全不包含这些组件 - phpEnv 的 Apache 默认监听 80 端口且配置封闭,无法代理 HedgeDoc 的 3000/8080 端口服务
- 其内置 MySQL 版本老旧(通常 5.5/5.6),不兼容 HedgeDoc 要求的 PostgreSQL 或 MariaDB 10.3+
- 无环境变量隔离、无进程守护、无日志管理——HedgeDoc 生产部署的基本需求全部缺失
真正可行的 HedgeDoc 部署路径只有两条
如果你当前在 Windows 上,且希望快速跑起 HedgeDoc:
- 用
docker desktop+docker compose:官方推荐方式,所有依赖(PostgreSQL、Caddy、Node 运行时)自动拉取并组网,docker compose up -d即可完成 - 用 WSL2(Ubuntu)+
node+postgresql手动部署:需自行安装 Node.js 20+、PostgreSQL 13+、配置.env并npm ci && npm start
这两条路径都与 phpEnv 无关。Windows 托盘版 phpEnv 已于 2019 年后停止更新,GitHub 仓库归档,官网域名失效,其架构无法适配任何现代 Node.js 应用部署模型。
立即学习“PHP免费学习笔记(深入)”;
常见误操作与错误现象
用户常尝试把 HedgeDoc 源码丢进 phpEnv 的 WWW 目录,然后访问 http://localhost/hedgedoc,结果得到:
-
Parse error: syntax error, unexpected token "<" in C:\phpEnv\www\hedgedoc\index.html on line 1—— 因为 Apache 把index.html当作 PHP 文件解析了(因开启了application/x-httpd-php关联) - 空白页或 404 —— HedgeDoc 的前端是单页应用(SPA),需要服务端 fallback 配置,phpEnv 的 Apache 默认无此设置
- 数据库连接拒绝 —— phpEnv 自带的 MySQL 未创建
hedgedoc数据库,也未授权远程访问,且 HedgeDoc 默认配置指向的是postgres://而非mysql://
别在 phpEnv 上浪费时间折腾 HedgeDoc。它的定位是“PHP 学习入门演示环境”,不是通用 Web 应用容器。真要搭协作文档系统,直接上 Docker;真要调试 PHP 代码,用 phpenv + VS Code + PHP Debug 插件更干净。



















