跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

XAMPP环境下多端口部署Emlog博客

必须修改三处:Apache的Listen端口、httpd-vhosts.conf中VirtualHost端口及DocumentRoot权限配置、Emlog的config.php中$db_host添加MySQL新端口,缺一不可,否则导致访问失败或数据库连接拒绝。 能直接做,但必须改三处配置:Apache监听端口、虚拟主机定义、MySQL连接端口,漏任何一处都会导致访问失败或数据库报错。 修改 Apache 的 Listen 端口和启用 vhosts Emlog 默认走 80 端口,但本地常被 Skype、IIS 或其他服务占用。XAMPP 不会自动监听新端口,必须手动加
Listen
指令。 打开
XAMPP\apache\conf\httpd.conf
,找到
Listen 80
,在其下方添加你要的端口,比如:
Listen 8083
确认
#Include conf/extra/httpd-vhosts.conf
这行开头的
#
已删除(即已启用虚拟主机支持),否则后续配置无效 如果只配端口不配
,请求会落到默认站点(
htdocs
根目录),而不是你的 emlog 目录 在 httpd-vhosts.conf 中定义 Emlog 的端口站点 仅改
Listen
不够,Apache 还得知道“这个端口该把请求交给哪个目录”。这靠
httpd-vhosts.conf
里的
块实现。 编辑
XAMPP\apache\conf\extra\httpd-vhosts.conf
,在末尾添加完整块(注意路径用正斜杠或双反斜杠):

ServerName localhost
DocumentRoot "D:/xampp/htdocs/emlog"

Require all granted
AllowOverride All

DocumentRoot
必须是 emlog 解压后的**绝对路径**,结尾不能带斜杠;
AllowOverride All
是必须的,否则 Emlog 的伪静态(如文章链接 /post/123)会 404 若跳过
权限段,访问时大概率报
Forbidden You don't have permission to access this resource
同步调整 MySQL 端口并更新 Emlog 配置 知识库提到你把 MySQL 改成了
3316
端口,但 Emlog 安装时默认连
3306
。不改,安装页卡在“连接数据库失败”或提示
mysqli_connect(): (HY000/2002): Connection refused
。 Emlog 的数据库配置文件是
emlog\config.php
(安装后生成)或安装过程中的表单 找到
$db_host = 'localhost';
这一行,在它后面加端口:
$db_host = 'localhost:3316';
如果用的是 socket 连接(如
localhost:/tmp/mysql.sock
),则不能写端口号,得换回
127.0.0.1
并显式指定端口:
$db_host = '127.0.0.1:3316';
PHP 的
mysqli
扩展对
localhost:端口
支持不稳定,优先用
127.0.0.1:3316
验证与常见失败点 改完别急着刷浏览器——先让 Apache 自检配置是否合法,否则服务根本启不起来。 在 XAMPP 控制面板点击
Apache → Config → Apache (httpd.conf)
,检查
Listen
和
vhosts
路径无拼写错误 命令行进到
XAMPP\apache\bin
,运行
httpd -t
。返回
Syntax OK
才算过关;报错就按提示定位行号 启动 Apache 后,访问
http://localhost:8083
显示 emlog 安装页 ≠ 成功——要真能走完安装流程、登录后台、发一篇日志且 URL 正常渲染,才算端口部署闭环 最容易被忽略的是:改了 MySQL 端口却忘了改
php.ini
里的
mysqli.default_port
(虽然 Emlog 不依赖它,但 phpMyAdmin 等工具会连不上)

相关文章