Mysqli->;ssl_设置php接受任何字符串

Mysqli->;ssl_设置php接受任何字符串,php,ssl,mysqli,Php,Ssl,Mysqli,嗨,我有可能是有史以来最奇怪的事情,也可能是因为今天太热了 我正在尝试与使用“requiressl”设置的用户连接到mysql实例 用户工作正常,从linux命令行使用mysql,一切正常 现在,当我使用下面的代码时,使用正确的real_connect()参数,php连接到mysql 即使我已将垃圾传递到ssl_set()中 如果我像这样设置ssl\u set,或者将行注释掉 $mysqli->ssl_set('', null, null, null, null); 我得到了预期的ssl

嗨,我有可能是有史以来最奇怪的事情,也可能是因为今天太热了

我正在尝试与使用“requiressl”设置的用户连接到mysql实例

用户工作正常,从linux命令行使用mysql,一切正常

现在,当我使用下面的代码时,使用正确的real_connect()参数,php连接到mysql 即使我已将垃圾传递到ssl_set()中

如果我像这样设置ssl\u set,或者将行注释掉

$mysqli->ssl_set('', null, null, null, null);
我得到了预期的ssl错误

你知道为什么它允许ssl连接使用随机字符串作为密钥吗?文档说这是一个文件位置

$mysqli = mysqli_init(); $mysqli->ssl_set('asdad', null, null, null, null); $connected = $mysqli->real_connect('HOST', 'USER', 'PASSWROD', 'DATABASE', 3306, null, MYSQLI_CLIENT_SSL); 因此,不需要在php中设置自定义证书。然而,为了证明这一点,我回到命令行并打成平局

mysql -uUSER -pPASSWORD -hHOST --ssl
而不是

mysql -uUSER -pPASSWORD -hHOST --ssl_ca=mysql-ssl-ca-cert.pem

第一个命令不起作用,第二个命令起作用。仍然对这里发生的事情感到非常困惑。

我不知道这是重复的,但可能有用,谢谢,但我以前看过那篇文章。如果我读对了,他们根本无法连接。我可以使用无效/不存在的ssl证书进行连接。我不应该这样做。我想知道php somehwere中是否有默认证书,它是通过ssl连接的,但没有验证连接。这可能吗?你有没有想过?我现在也有同样的问题,我一辈子都搞不清楚!
mysql -uUSER -pPASSWORD -hHOST --ssl
mysql -uUSER -pPASSWORD -hHOST --ssl_ca=mysql-ssl-ca-cert.pem