Php 如何知道MySQL是否使用SSL连接到远程数据库?
以下是连接到远程数据库的代码:Php 如何知道MySQL是否使用SSL连接到远程数据库?,php,mysql,ssl,Php,Mysql,Ssl,以下是连接到远程数据库的代码: $con = mysqli_init(); mysqli_ssl_set($con, "/etc/letsencrypt/keys/...certbot.pem", "/etc/letsencrypt/live/.../cert.pem", "/etc/letsencrypt/live/.../fullchain.pem", NULL, NULL); $connection = mysqli_real_c
$con = mysqli_init();
mysqli_ssl_set($con, "/etc/letsencrypt/keys/...certbot.pem", "/etc/letsencrypt/live/.../cert.pem", "/etc/letsencrypt/live/.../fullchain.pem", NULL, NULL);
$connection = mysqli_real_connect($con, self::$host, self::$user, self::$password);
self::$lastConnection = $connection;
$db = "db_prod";
不幸的是,我无法判断它是否真的起作用,因为如果我在mysqli_ssl_集中故意错拼我的证书的任何字符,连接仍然是成功的。那么,我如何才能确定这是否按预期工作
非常感谢您的帮助。因为您已经使用mysqli\u ssl\u set尝试建立到MySQL的ssl连接。系统将继续将其用于后续连接请求 因此,您可以检查$connection,它是mysqli\u real\u connect的返回值 因此,请修正如下:
<?php
$con = mysqli_init();
mysqli_ssl_set($con, "/etc/letsencrypt/keys/...certbot.pem", "/etc/letsencrypt/live/.../cert.pem", "/etc/letsencrypt/live/.../fullchain.pem", NULL, NULL);
$connection = mysqli_real_connect($con, self::$host, self::$user, self::$password);
/////////////////
if (!$connection)
{
die("Connect Error: " . mysqli_connect_error());
}
/////////////////
self::$lastConnection = $connection;
$db = "db_prod";
?>
您可以在dba.stackexchange.com上找到更好的答案