必须使用Windows下的phpEnv(官网phpenv.cn)而非GitHub的phpenv命令行工具,因其自带Apache、MySQL和PHP多版本切换功能,而Emlog依赖Web服务器和数据库服务;安装后需启动服务、验证localhost、phpmyadmin及phpinfo,再将Emlog解压至www目录并配置content目录写权限和删除install目录。

phpEnv 是 Windows 下的绿色集成环境(Apache + PHP + MySQL),不是 phpenv(类 rbenv 的命令行版本管理工具)。这点必须先分清——装错工具,后面全卡住。
确认你用的是 phpEnv(Windows 集成环境),不是 phpenv(Linux/macOS 版本管理器)
很多人搜“phpEnv 安装 Emlog”却误装了 GitHub 上的 phpenv(纯 CLI 工具,不带 Apache/MySQL),结果发现根本打不开 Emlog 安装页面。关键区别:
-
phpEnv:官网是 https://www.php.cn/link/d01e50a1df779a3b2ee9cf8776e02303,安装后有图形界面,自带 Apache、Nginx、MySQL、PHP 多版本切换开关 -
phpenv:GitHub 项目(如git clone https://gitcode.com/gh_mirrors/php/phpenv),只管 PHP 二进制切换,不提供 Web 服务
Emlog 是 PHP+MySQL 的传统博客程序,必须依赖 Web 服务器和数据库服务——所以你只能用 phpEnv,不能用 phpenv。
安装 phpEnv 后启动服务并验证 PHP 运行环境
下载安装版(非绿色免安装版),路径避免中文和空格(例如 D:\phpEnv),安装时勾选“创建桌面快捷方式”。安装完打开主程序,点击“启动服务”,等 Apache 和 MySQL 小圆点变绿。
立即学习“PHP免费学习笔记(深入)”;
验证是否就绪:
- 浏览器访问
http://localhost,看到 phpEnv 欢迎页 → Apache 正常 - 访问
http://localhost/phpmyadmin,能登录(默认用户root,无密码)→ MySQL 正常 - 在
D:\phpEnv\www下新建info.php,内容为<?php phpinfo(); ?>,再访问http://localhost/info.php→ 显示 PHP 信息页,且版本 ≥ 5.6(Emlog 6.x 要求 PHP ≥ 7.0,推荐用 phpEnv 自带的 PHP 7.4)
部署 Emlog:解压、改权限、配数据库
从官网下载 Emlog 最新版(如 emlog_6.4.1.zip),解压到 D:\phpEnv\www\emlog(不要嵌套多层目录)。
重点操作:
- 确保
D:\phpEnv\www\emlog\content目录可写(右键 → 属性 → 安全 → 编辑 → 给 Users 组“写入”权限;若跳过这步,安装时会卡在“检测写入权限”) - 访问
http://localhost/emlog,自动跳转到安装向导 - 数据库配置填:
localhost(不是127.0.0.1,phpEnv 的 MySQL 默认只监听 localhost)、root、空密码、库名填emlog(会自动创建) - 管理员账号密码设好后,安装完成会提示删除
install目录 —— 立刻进D:\phpEnv\www\emlog\install把整个文件夹删掉,否则存在安全风险
常见失败点:端口冲突、rewrite 未启用、时区报错
如果访问 http://localhost/emlog 显示 404 或白屏:
- 检查 Apache 是否真启动(phpEnv 主界面里状态是绿色);若红着,点“配置”→“端口检测”,看 80 端口是否被 Skype、IIS 或其他软件占了,换端口或关掉冲突程序
- Emlog 伪静态依赖 Apache 的
mod_rewrite,phpEnv 默认已开启,但如果你手动改过httpd.conf,确认里面有LoadModule rewrite_module modules/mod_rewrite.so且<Directory "D:/phpEnv/www"> ... AllowOverride All </Directory> - 安装成功但后台时间显示错误(如晚 8 小时):进
D:\phpEnv\php\php.ini,找到date.timezone =,改成date.timezone = Asia/Shanghai,然后重启 Apache
Emlog 的轻量体现在它不依赖 Composer、不强制 MVC 结构,但这也意味着所有配置都得手动对齐 phpEnv 的实际路径和权限——最常被跳过的就是 content 目录写权限和 install 目录残留。



















