PHP Conference Japan 2024

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

包含以 PEM 格式存储的受信任 SSL CA 证书的目录的路径名。

cipher_algos

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

返回值

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

参见

添加注释

用户贡献的注释 1 条注释

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/
To Top