必须修改httpd.conf添加listen端口(如listen 8081)和httpd-vhosts.conf配置对应virtualhost,确保include行已启用、端口未被占用、语法检查httpd -t通过,并重启apache服务。

能配,但必须改两个文件、重启 Apache,且端口不能被占用 —— 否则浏览器打不开 localhost:xxx 就是配置没生效或服务没起来。
修改 httpd.conf 添加监听端口
Mac 上 XAMPP 的主配置文件路径是 /Applications/XAMPP/etc/httpd.conf。只改这一个文件,Apache 根本不会监听新端口。
- 用 VS Code 或其他编辑器打开该文件,搜索
Listen 80 - 在它下面新增一行,比如要加 8081 端口:
Listen 8081 - 可以一次加多个,每行一个:
Listen 8082、Listen 8090,但务必确认这些端口没被其他进程占用(用lsof -i :8081检查) - 顺手检查这一行是否已取消注释:
Include etc/extra/httpd-vhosts.conf—— 如果前面有#,删掉,否则虚拟主机配置不加载
在 httpd-vhosts.conf 中定义对应端口的 VirtualHost
路径是 /Applications/XAMPP/etc/extra/httpd-vhosts.conf。光监听端口没用,Apache 不知道该把请求路由到哪。
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、Thin
- 在文件末尾添加完整块,例如:
<virtualhost>
ServerName localhost
DocumentRoot "/Applications/XAMPP/htdocs/project-a"
<directory>
Options Indexes FollowSymLinks
AllowOverride All
Require local
</directory></virtualhost>
-
ServerName写localhost最稳妥;如果配了自定义域名(如project-a.test),记得同步改系统/private/etc/hosts -
DocumentRoot必须写绝对路径,Mac 下注意斜杠方向,别漏掉/Applications/XAMPP/前缀 - 别直接覆盖默认的
*:80块,保留它,否则原localhost会失效
重启 Apache 时常见失败原因
点 XAMPP 控制面板的 “Restart” 没反应?或者状态卡在 “Starting…”?大概率是配置语法错误或端口冲突。
- 先终端执行:
sudo /Applications/XAMPP/xamppfiles/bin/httpd -t—— 这是 Apache 配置语法检查命令,输出Syntax OK才算过关 - 如果报错,错误信息里会明确指出哪一行、哪个文件出问题(比如拼错
或路径少斜杠) - 即使语法 OK,仍启动失败,运行
sudo lsof -i :8081看端口是否真空闲;macOS Big Sur 及更新版本还可能因 SIP 限制导致某些端口(如 80、443)需额外授权 - 重启命令建议用终端:
sudo /Applications/XAMPP/xamppfiles/xampp restart,比图形界面更可靠
最易被忽略的一点:改完两个配置文件后,必须同时满足「httpd.conf 里写了 Listen」+「httpd-vhosts.conf 里写了对应 VirtualHost」+「httpd -t 通过」+「端口未被占用」,四者缺一不可。少一步,localhost:8081 就只会显示 “It works!” 或直接连接被拒绝。










