1

我正在使用 xampp 在我的 Mac 上设置本地服务器,但是当我需要为我的站点设置 ssl 时遇到了问题。我设置了 php 端以启用可以正常工作的 ssl,我可以访问“https://localhost/”,它加载了 xampp 欢迎页面。现在,当涉及到 mysql 并将其设置为使用 ssl 时,我无法让它使用 ssl。当我进入 phpmyadmin 并检查变量时,它说 ssl 没有打开并且没有指定密码。

我尝试进入 config.inc.php 并添加以下行:

    $cfg['Servers'][$i]['ssl'] = true;
    $cfg['ForceSSL'] = TRUE;

然后我通过 xampp 重新启动了 apache 和 mysql 服务器,但这并没有改变。然后我生成了自己的证书,将它们放在一个文件夹中,并将以下内容添加到同一个 config.inc.php 文件中:

    $cfg['Servers'][$i]['ca'] = '/Applications/XAMPP/xamppfiles/etc/ssl/ca-cert.pem';
    $cfg['Servers'][$i]['cert'] = '/Applications/XAMPP/xamppfiles/etc/ssl/client-cert.pem';
    $cfg['Servers'][$i]['key'] = '/Applications/XAMPP/xamppfiles/etc/ssl/client-key.pem';

这也没有改变mysql的ssl设置。我只是想使用 ssl 在 php 中连接到 mysql。我的 php 代码如下所示:

   error_reporting(E_ALL);
   ini_set("display_errors", "1");
   $link = mysqli_init();
   mysqli_ssl_set($link,'/Applications/XAMPP/xamppfiles/etc/ssl/server-key.pem','/Applications/XAMPP/xamppfiles/etc/ssl/server-cert.pem','/Applications/XAMPP/xamppfiles/etc/ssl/ca-cert.pem',null, null);
   mysqli_real_connect($link,$dbhost, $dbuser, $dbpass, $dbname);

我无法连接上面的代码,它给了我一个 ssl 错误。有没有人可以帮助我设置它以便我可以使用 ssl?

4

1 回答 1

0

XAMPP 中的 MySQL 实际上是一个 MardiaDB 二进制版本。该版本不支持 SSL (TSL)。

试试这个:如何在 XAMPP 中将 MariaDB 更改为 MySQL?

于 2022-02-26T22:44:50.307 回答