xampp不支持也不需配置cockroachdb端口,因其是独立go进程,监听26257(sql)和8080(web ui)等端口;端口冲突仅发生在系统级占用时,解决方式为启动cockroachdb时显式指定空闲端口(如--port=26259 --http-port=8082),并确保应用连接dsn使用正确端口与host。

XAMPP 本身不支持、也不需要为 CockroachDB 配置多端口。CockroachDB 是独立运行的分布式数据库,和 XAMPP 的 Apache/MySQL 完全无关。你看到的端口(如 26257、8080)是 CockroachDB 自己监听的,跟 XAMPP 的 httpd.conf 或 httpd-vhosts.conf 没有任何关系。
为什么不能在 XAMPP 里“配置”CockroachDB 端口
CockroachDB 不依赖 Apache,也不通过 PHP 或 httpd 提供服务。它是一个单独的 Go 进程,直接绑定系统端口:
-
26257:SQL 接口端口(PostgreSQL 兼容),供psql、npgsql、mysql(伪客户端)等连接 -
8080(默认):Web 管理界面端口,浏览器直连http://127.0.0.1:8080
这些端口由 CockroachDB 启动命令或配置文件控制,例如:
cockroach start --insecure --host=127.0.0.1 --port=26258 --http-port=8081
——这里就把 SQL 端口改成 26258、UI 端口改成 8081,完全绕过 XAMPP。
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
XAMPP 和 CockroachDB 共存时的真实端口冲突点
真正要防的是「端口撞车」,不是「配置联动」。常见冲突场景:
- Apache 默认占
80/443,而 CockroachDB UI 默认用8080—— 通常不冲突,但如果你把 Apache 改成8080,又没改 CockroachDB 的--http-port,就会报address already in use - MySQL 默认用
3306,而 CockroachDB 不占用该端口,但某些旧版驱动或脚本误设host=localhost port=3306去连 CockroachDB,会连不上且无明确提示 - Windows 下
127.0.0.1:26257被杀毒软件或 Hyper-V 占用(尤其 WSL2 启用后),导致 CockroachDB 启动失败,错误类似:failed to listen on 127.0.0.1:26257: listen tcp 127.0.0.1:26257: bind: Only one usage of each socket address is permitted
如何让 XAMPP 和 CockroachDB 同时跑起来
只需三步,全部在 CockroachDB 侧操作,不动 XAMPP 一行配置:
- 启动 CockroachDB 时显式指定空闲端口,避开 XAMPP 已用端口:
cockroach start --insecure --host=127.0.0.1 --port=26259 --http-port=8082
- 确认 Windows 防火墙或杀软没拦截新端口(尤其是非标准端口如
26259) - PHP 或 C# 应用连接 CockroachDB 时,DSN 必须写对端口,例如:
postgresql://root@127.0.0.1:26259/mydb?sslmode=disable(不是:5432,也不是:3306)
最容易被忽略的是:CockroachDB 的 --host 参数值必须和你的应用连接地址一致。设成 --host=192.168.1.100,但代码里还写 127.0.0.1,连接就直接超时 —— 这类问题和 XAMPP 配置无关,但排查时容易误以为是 Apache 干扰。










