mysqli::ssl_set

mysqli_ssl_set

(PHP 5, PHP 7, PHP 8)

mysqli::ssl_set -- mysqli_ssl_set用于使用 SSL 建立安全连接

描述

面向对象风格

public mysqli::ssl_set(
    ?string $key,
    ?string $certificate,
    ?string $ca_certificate,
    ?string $ca_path,
    ?string $cipher_algos
): true

过程式风格

mysqli_ssl_set(
    mysqli $mysql,
    ?string $key,
    ?string $certificate,
    ?string $ca_certificate,
    ?string $ca_path,
    ?string $cipher_algos
): true

用于使用 SSL 建立安全连接。它必须在 mysqli_real_connect() 之前调用。此函数在启用 OpenSSL 支持的情况下什么也不做。

参数

mysql

仅限过程式风格:由 mysqli_connect()mysqli_init() 返回的 mysqli 对象

key

密钥文件的路径名。

certificate

证书文件的路径名。

ca_certificate

证书颁发机构文件的路径名。

ca_path

包含受信任的 SSL CA 证书的目录的路径名,这些证书采用 PEM 格式。

cipher_algos

允许用于 SSL 加密的密码列表。

返回值

始终返回 true。如果 SSL 设置不正确,当您尝试连接时,mysqli_real_connect() 将返回错误。

参见

添加笔记

用户贡献笔记 2 笔记

quackfish at gmail dot com
9 年前
注意,5.7.3 之前的 MySQL 版本不要求服务器使用 SSL [1]。在 PHP 的情况下,如果连接降级为纯文本,客户端不会抛出错误 [2]

[1] https://dev.mysqlserver.cn/doc/refman/5.7/en/encrypted-connection-options.html#option_general_ssl
[2] http://www.idontplaydarts.com/2015/03/mysql-with-ssl-does-not-protect-against-active-mitm/
Mike
4 年前
您不再需要指定 key - ca 或 cert 来建立与 MySQL 5.7.3 的安全连接,您只需设置 ssl
To Top