【问题标题】:Remote MySQL connection on a https site php?https站点php上的远程MySQL连接?
【发布时间】:2014-07-04 21:52:03
【问题描述】:

我最近在我的网站上安装了 SSL 证书。

这导致了一些我完全没有预料到的问题。

我现在遇到的问题是无法连接到 MySQL 数据库!

我的连接文件是这样的:

<?php
$db_conx = mysqli_connect("Mydomain.com", "mystore", "Mypassword", "mystore");
// Evaluate the connection
if (mysqli_connect_errno()) {
    echo mysqli_connect_error();
    exit();
} else {
echo "";
}
?>

在我安装 SSL 之前,上面的代码运行良好,但自从我安装 SSL 后,它就停止连接到 MySQL 数据库。

如果我改变了

$db_conx = mysqli_connect("Mydomain.com", "mystore", "Mypassword", "mystore");

$db_conx = mysqli_connect("localhost", "mystore", "Mypassword", "mystore");

它再次开始工作,但我需要使用与以前相同的域名,因为我需要它来连接到远程 MySQL 数据库。

再一次,在我安装 SSL 之前它运行良好。

有人可以就此提出建议吗?需要做什么来解决这个问题?

谢谢

【问题讨论】:

  • 网站上的 SSL 不应该对从网络服务器到数据库的连接产生任何影响。您是否在数据库服务器上安装了 SSL?
  • 启用 SSL 时是否更改了防火墙配置?
  • @Barmar,我不这么认为。我要求我的托管公司为我安装 SSL,他们做到了。我也没有看到 mysql 有任何变化!
  • 他们一定改变了其他东西。网络服务器甚至不参与数据库连接。我建议你和他们谈谈。

标签: php mysql


【解决方案1】:

尝试与端口的连接

$db_conx = mysqli_connect("Mydomain.com:3306", "mystore", "Mypassword", "mystore");

【讨论】:

  • 这样,我得到这个错误:Unknown MySQL server host 'Mydomain.com:3306' (25)。顺便说一句,我确实将 Mydomain.com 更改为我自己的域。
  • 用服务器公共IP更改您的域名
【解决方案2】:

您的托管公司可能已将 IP 地址更改/添加到您的机器上,因为传统上证书需要他们自己的 IP 地址。通常托管公司只会在您已有的 IP 地址之上添加一个额外的 IP 地址到您的 Web 服务器计算机。

现在如果您的 PHP 脚本使用新 IP 地址连接到 MySQL 服务器,您的 MySQL 服务器可能无法识别新 IP,并拒绝连接。

请您的托管公司将以前的 IP 地址设置为 PHP 用来连接 MySQL 的地址。或者让他们通过以前的 IP 设置到 MySQL 服务器的路由。

或者您可以检查您是否有足够的权限来更改 MySQL 服务器授予访问权限的 IP 地址。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-11
  • 1970-01-01
  • 2012-01-03
相关资源
最近更新 更多