函数名称:mysqli::ssl_set()
适用版本:PHP 5.3.0 及以上版本
用法:mysqli::ssl_set() 函数用于设置与 MySQL 服务器的安全连接所需的 SSL 配置。
语法:bool mysqli::ssl_set(string $key, string $cert, string $ca, string $capath, string $cipher)
参数:
- $key:指定用于 SSL 连接的私钥文件的路径。
- $cert:指定用于 SSL 连接的证书文件的路径。
- $ca:指定用于验证服务器证书的 CA 证书文件的路径。
- $capath:指定用于验证服务器证书的 CA 证书文件夹的路径。
- $cipher:指定用于加密 SSL 连接的密码套件。
返回值:成功时返回 true,失败时返回 false。
示例:
$mysqli = new mysqli("localhost", "username", "password", "database");
// 设置 SSL 配置
if ($mysqli->ssl_set('/path/to/private/key.pem', '/path/to/certificate.pem', '/path/to/ca.pem', null, null)) {
echo "SSL 配置设置成功!";
} else {
echo "SSL 配置设置失败!";
}
// 进行安全连接
if ($mysqli->real_connect("localhost", "username", "password", "database")) {
echo "安全连接成功!";
} else {
echo "安全连接失败!";
}
注意事项:
- 为了使用 mysqli::ssl_set() 函数,需要先启用 OpenSSL 扩展。
- 参数 $key 和 $cert 必须是 PEM 格式的文件。
- 参数 $ca 和 $capath 至少需要提供一个。
- 如果 MySQL 服务器的证书由权威的证书颁发机构签署,可以不提供参数 $ca 和 $capath。
- 密码套件可以通过 OpenSSL 的 openssl_get_cipher_methods() 函数获取可用的密码套件列表。