emlog在xampp启动失败主因是服务未运行或路径错误:需确认apache与mysql均为绿色运行状态,emlog文件完整解压至htdocs/emlog(非嵌套目录);常见报错如require_once失败说明路径不对,connection refused表明mysql未启或config.php端口错误(xampp默认3306)。

Emlog在XAMPP里启动失败:常见报错和基础检查
直接打开 http://localhost 看不到Emlog安装页,大概率是服务没跑起来,或路径没放对。先确认 XAMPP 控制面板中 Apache 和 MySQL 都显示绿色运行状态;再检查 Emlog 文件是否完整解压到了 htdocs 目录下(比如 htdocs/emlog),而不是嵌套多层(如 htdocs/emlog-master/emlog)。
常见错误信息包括:Warning: require_once(./init.php): failed to open stream —— 说明当前目录不是 Emlog 根目录;Connection refused 或 mysqli_connect(): (HY000/2002) —— MySQL 没启动,或 config.php 里数据库端口写成了 33066(XAMPP 默认是 3306)。
手动配置 config.php:绕过安装向导的必要操作
Emlog 安装向导有时卡在“检测环境”或跳转失败,尤其在新版 XAMPP(如 v8.2+)启用 PHP 8.2 后。更稳的方式是跳过安装页,直接手写配置文件。
- 复制
emlog/install/config.php.new为emlog/config.php - 编辑该文件,填入以下关键项(其他保持默认):
'db_host' => '127.0.0.1', 'db_name' => 'emlog', 'db_user' => 'root', 'db_pass' => '', 'db_port' => '3306',
- 确保数据库
emlog已存在:用 phpMyAdmin(http://localhost/phpmyadmin)新建同名数据库,排序规则选utf8mb4_unicode_ci
注意:XAMPP 的 MySQL 默认空密码,别填 root 或其他值;db_host 建议用 127.0.0.1 而非 localhost,避免 mysqli 在某些 PHP 版本下走 socket 连接失败。
后台登录后空白或报500:PHP 版本与扩展兼容问题
首页能打开、后台 /admin 打不开,多数是 PHP 模块缺失或版本越界。Emlog 6.x 官方最低要求 PHP 7.2,但实际在 PHP 8.1+ 下会出现 Deprecated: Required parameter $x follows optional parameter $y 类警告,严重时触发 500 错误。
XAMPP 8.0.30 是一款免费、开源的跨平台 Web 服务器集成包,专为快速搭建本地 PHP 开发环境而设计。该版本核心组件包括:Apache 2.4.56、MySQL 8.0.33、PHP 8.0.30、phpMyAdmin 5.2.1 等。它支持 Windows、Linux 和 macOS 系统,可让开发者在个人电脑上轻松模拟服务器环境,无需复杂配置即可运行 WordPress、ThinkPHP 等主流 PHP 应用。XAMPP 8.0.30 在保持兼容性的同时,优化了 PHP 8.0 的性能与
实操建议:
- 在 XAMPP 控制面板点击
Config → PHP (php.ini),搜索并开启:extension=mysqli、extension=pdo_mysql、extension=gd(头像裁剪需要) - 若用 XAMPP v8.2+(自带 PHP 8.2),降级到 XAMPP v8.1(含 PHP 8.1)更稳妥;或临时在
php.ini加上:error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE - 检查
emlog/admin/index.php开头是否有 BOM 头 —— 用 VS Code 以 UTF-8 无 BOM 格式重新保存,可解决白屏
本地调试时静态资源 404:重写规则未生效
文章页 URL 是 http://localhost/emlog/post/1.html 却提示 404,说明 Apache 的 mod_rewrite 没启用,或 .htaccess 被忽略。
必须做两件事:
- 在 XAMPP 控制面板点
Config → Apache (httpd.conf),确认以下两行已取消注释:LoadModule rewrite_module modules/mod_rewrite.so Include conf/extra/httpd-vhosts.conf
- 找到
httpd-vhosts.conf,为你的站点加一段配置(不只是 localhost):<virtualhost> DocumentRoot "C:/xampp/htdocs/emlog" ServerName emlog.local <directory> AllowOverride All Require all granted </directory></virtualhost>然后把emlog.local加进系统hosts文件(C:\Windows\System32\drivers\etc\hosts)映射到127.0.0.1
改完重启 Apache;AllowOverride All 是关键,否则 .htaccess 里的重写规则完全不执行。










