在phpEnv中如何配置ThinkPHP以连接MySQL数据库?

2026-05-07 15:150阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计965个文字,预计阅读时间需要4分钟。

在phpEnv中如何配置ThinkPHP以连接MySQL数据库?

非常抱歉,您提供的信息似乎不完整。为了更好地帮助您,请提供完整的句子或段落,我将根据您的要求进行改写。

为什么 phpEnv 里必须用 127.0.0.1 而不是 localhost

MySQL 在 Windows 下对 localhost 有特殊处理:它会尝试走命名管道或 socket,而 phpEnv 默认只启用 TCP/IP。你看到的 SQLSTATE[HY000] [2002] Connection refused 错误,基本就是这个原因。

  • DB_HOST=localhost → PHP 尝试连接 MySQL 的 socket 文件(但 phpEnv 没配或路径不对)
  • DB_HOST=127.0.0.1 → 明确走 TCP/IP,绕过 socket 问题
  • 即使 MySQL 服务在本机,也别信“localhost 更快”——在 phpEnv 场景下它大概率直接失败

.env 配置优先级和常见覆盖陷阱

ThinkPHP 6/8 启用 .env 后,config/database.php 里的 connections.mysql.hostname 等字段会被完全忽略——哪怕你只改了 .env 里一个键,整个连接配置都以它为准。

阅读全文

本文共计965个文字,预计阅读时间需要4分钟。

在phpEnv中如何配置ThinkPHP以连接MySQL数据库?

非常抱歉,您提供的信息似乎不完整。为了更好地帮助您,请提供完整的句子或段落,我将根据您的要求进行改写。

为什么 phpEnv 里必须用 127.0.0.1 而不是 localhost

MySQL 在 Windows 下对 localhost 有特殊处理:它会尝试走命名管道或 socket,而 phpEnv 默认只启用 TCP/IP。你看到的 SQLSTATE[HY000] [2002] Connection refused 错误,基本就是这个原因。

  • DB_HOST=localhost → PHP 尝试连接 MySQL 的 socket 文件(但 phpEnv 没配或路径不对)
  • DB_HOST=127.0.0.1 → 明确走 TCP/IP,绕过 socket 问题
  • 即使 MySQL 服务在本机,也别信“localhost 更快”——在 phpEnv 场景下它大概率直接失败

.env 配置优先级和常见覆盖陷阱

ThinkPHP 6/8 启用 .env 后,config/database.php 里的 connections.mysql.hostname 等字段会被完全忽略——哪怕你只改了 .env 里一个键,整个连接配置都以它为准。

阅读全文