phpenv 不适合运行 wallabag 2,因其默认 php 版本低于 7.2.5、intl/gd 等必需扩展未启用、apache 重写规则失效,且 sqlite 路径权限和域名配置易出错,强行部署常导致 composer install 失败或 500/404 错误。

phpEnv 是 Windows 平台的 PHP 集成环境,不支持直接运行 Wallabag 2 —— 因为 Wallabag 2 基于 Symfony 4+,最低要求 PHP 7.2.5,而 phpEnv 默认带的 PHP 版本(如 7.1、7.2)多数不满足依赖或缺少必要扩展,且其 Apache/Nginx 配置未适配 Symfony 的 public/index.php 入口路由规则。强行部署会卡在 composer install 或 500 错误,不推荐。
为什么 phpEnv 不适合跑 Wallabag 2
Wallabag 2 的运行依赖几个关键点,phpEnv 默认配置全部缺失:
-
intl和gd扩展默认未启用(Wallabag 抓取页面、生成缩略图必需) - PHP 版本低于 7.2.5(例如 phpEnv 8.11.0 虽支持 PHP 8.3,但需手动切换并确认扩展已加载)
- Apache 的
.htaccess重写规则在 phpEnv 中常被禁用,导致/login、/api等路由 404 - SQLite 数据库存放路径(如
data/db/wallabag.sqlite)在 Windows 下易因权限或路径斜杠问题写入失败
如果坚持用 phpEnv,必须改这三处
仅当你的 phpEnv 已升级到 8.12.1+、PHP 切换为 8.3 且能接受命令行操作时,才可尝试:
- 打开 phpEnv 主界面 → “PHP 设置” → 勾选
intl、gd、pdo_sqlite、mbstring、xml、curl扩展 → 点击“应用并重启服务” - 下载
wallabag-2.4.2.tar.gz(不要用 git clone),解压到C:\phpEnv\www\wallabag\,确保目录下有public/和var/ - 修改 Apache 配置:编辑
C:\phpEnv\Apache\conf\extra\httpd-vhosts.conf,添加虚拟主机段,关键项包括:DocumentRoot "C:/phpEnv/www/wallabag/public"AllowOverride AllRequire all granted
SYMFONY__ENV__DOMAIN_NAME 必须设对,否则登录后跳转 404
Wallabag 2 启动前必须通过环境变量或 .env 文件指定域名,否则即使首页能打开,登录后也会重定向到 http://localhost/login_check 这类错误地址:
- 在
C:\phpEnv\www\wallabag\.env中,将SYMFONY__ENV__DOMAIN_NAME=http://localhost改为实际访问地址,例如:SYMFONY__ENV__DOMAIN_NAME=http://wallabag.local - 同时在 Windows 的
C:\Windows\System32\drivers\etc\hosts中加一行:127.0.0.1 wallabag.local - Apache 重启后,浏览器访问
http://wallabag.local,首次安装会提示数据库初始化 —— 此时若报SQLSTATE[HY000] [14] unable to open database file,说明var/data/目录无写入权限,右键该文件夹 → 属性 → 安全 → 编辑 → 给IIS_IUSRS或Users添加“写入”权限
真正省事的方式是放弃 phpEnv,改用 Docker Desktop for Windows + docker-compose.yml;或者直接上 Linux VPS 跑原生 Docker。Windows 下硬套 phpEnv 跑 Wallabag,80% 的失败都卡在扩展没开全、.htaccess 不生效、SQLite 路径权限这三个地方,且后续升级几乎不可维护。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











