WordPress配置文件中如何设置MySQL的端口信息?

在 WordPress 的配置文件 wp-config.php 中,默认情况下并没有直接用于设置 MySQL 端口号的独立常量。WordPress 遵循标准的 PHP MySQL 扩展行为:如果未指定端口,默认连接 3306 端口。

但如果你使用的是非标准端口(例如阿里云 RDS、腾讯云 CDB 或自建服务器修改了默认端口),可以通过以下两种方式之一进行配置:


✅ 方法一:通过 DB_HOST 变量指定端口(推荐)

这是最常用且官方支持的方式。在 wp-config.php 中找到如下行:

define('DB_HOST', 'localhost');

将其修改为包含端口的格式:

define('DB_HOST', 'localhost:3307'); // 假设你的 MySQL 使用 3307 端口

⚠️ 注意:

  • 如果数据库不在本地,需同时填写 IP 或域名和端口,例如:
    define('DB_HOST', 'rm-xxx.mysql.rds.aliyuncs.com:3306');
  • 端口号前必须加冒号 :,不能有空格。
  • 确保防火墙/安全组已开放该端口。

✅ 方法二:通过 php.ini 或运行时覆盖(高级用户)

某些特殊场景下(如使用 PDO 或特定驱动),可能需要更底层控制。但绝大多数 WordPress 部署只需使用方法一即可。


🔍 验证是否生效

  1. 登录 WordPress 后台 → 工具 → 站点健康 → 信息 → 数据库。
  2. 查看“主机”字段是否显示你设置的带端口的地址。
  3. 或使用代码测试连接:
<?php
$host = DB_HOST;
list($hostname, $port) = explode(':', $host);
$conn = new mysqli($hostname, DB_USER, DB_PASSWORD, DB_NAME, intval($port));
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} else {
    echo "Connected successfully on port " . $port;
}
?>

将此脚本放在 WordPress 根目录并访问测试。


📌 常见国内云厂商注意事项

厂商 默认端口 备注
阿里云 RDS 3306 可在控制台自定义端口,需在 wp-config.php 中显式指定
腾讯云 CDB 3306 同上
华为云 RDS 3306 同上
自建服务器 可自定义 务必同步修改防火墙规则(iptables/firewalld)和安全组

❗ 重要提醒

  • 不要尝试定义不存在的常量如 DB_PORT,WordPress 核心代码不会读取它。
  • 确保 MySQL 服务监听的是指定端口,可通过 netstat -tlnp | grep mysqlss -tlnp | grep mysql 验证。
  • 若使用 SSL/TLS 加密连接(云厂商推荐),还需额外配置证书路径,但这属于进阶话题,超出本题范围。

总结:只需修改 DB_HOST主机名:端口 格式即可实现端口自定义,简洁、有效、兼容性强。

未经允许不得转载:CLOUD云枢 » WordPress配置文件中如何设置MySQL的端口信息?