You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在mysqli_connect使用localhost时强制采用TCP连接?

可以通过配置实现,以下是几种可靠方案:

1. 强制PHP mysqli使用TCP协议(php.ini)

编辑你的php.ini文件,添加或修改以下配置项:

mysqli.default_protocol = "tcp"

保存后重启PHP服务(如PHP-FPM、Apache等)。这个配置会让mysqli扩展默认使用TCP协议连接,即使传入的主机名是localhost,也会自动通过127.0.0.1的3306端口建立TCP连接。

2. 修改MySQL客户端全局配置

在MySQL的客户端配置文件中(Linux/macOS路径通常为~/.my.cnf或/etc/my.cnf,Windows为my.ini),在[client]区块添加:

[client]
protocol=tcp

该配置会强制所有MySQL客户端(包括PHP的mysqli)使用TCP协议,无论连接时指定的主机名是localhost还是其他地址。

3. 清空PHP mysqli默认套接字路径(php.ini)

如果你的系统中mysqli默认优先使用Unix套接字,可通过清空默认套接字路径来强制TCP连接:
编辑php.ini,设置:

mysqli.default_socket = ""

当没有指定套接字路径时,mysqli会自动 fallback 到TCP连接127.0.0.1,这样使用localhost作为主机名时就会走TCP而非套接字。

内容的提问来源于stack exchange,提问作者Darko Miletic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 04:05:24