我用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设置。我只是想在php中使用ssl连接到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请?
1条答案
按热度按时间irlmq6kh1#
XAMPP中的MySQL实际上是MardiaDB二进制版本。该版本不支持SSL(TSL)。
试试这个:How can I change MariaDB to MySQL in XAMPP?