PHP mysqli ssl_set() 函数
示例 - 面向对象的样式
创建 SSL 连接:
<?php
$mysqli = mysqli_init();
if (!$mysqli) {
die("mysqli_init failed");
}
$mysqli -> ssl_set("key.pem", "cert.pem", "cacert.pem", NULL, NULL);
if (!$mysqli -> real_connect("localhost","my_user","my_password","my_db")) {
die("Connect Error: " . mysqli_connect_error());
}
// Some queries...
$mysqli -> close();
?>
$mysqli = mysqli_init();
if (!$mysqli) {
die("mysqli_init failed");
}
$mysqli -> ssl_set("key.pem", "cert.pem", "cacert.pem", NULL, NULL);
if (!$mysqli -> real_connect("localhost","my_user","my_password","my_db")) {
die("Connect Error: " . mysqli_connect_error());
}
// Some queries...
$mysqli -> close();
?>
查看底部的程序样式示例。
定义和用法
mysqli_ssl_set() 函数用于创建 SSL 安全连接。然而,该函数只有在启用 OpenSSL 支持时才有效。
注释:该函数必须在 mysqli_real_connect() 之前调用。
注释:在 PHP 5.3.3 之前的版本,MySQL Native Driver 不支持 SSL。自 PHP 5.3+ 起,在微软 Windows 上默认启用 MySQL Native Driver。
语法
面向对象的风格:
$mysqli -> ssl_set(key, cert, ca, capath, cipher)
程序风格:
mysqli_ssl_set(connection, key, cert, ca, capath, cipher)
参数值
参数 | 描述 |
---|---|
connection | 必需。规定要使用的 MySQL 连接。 |
key | 必需。规定密钥文件的路径名。 |
cert | 必需。规定认证文件的路径名。 |
ca | 必需。规定认证授权文件的路径名。 |
capath | 必需。规定包含 PEM 格式的可信 SSL CA 认证的目录的路径名。 |
cipher | 必需。规定用于 SSL 加密的可用密码列表。 |
技术细节
返回值: | 总是返回 TRUE。如果 SSL 安装不正确,当您尝试连接的时候,mysqli_real_connect() 将返回一个错误。 |
---|---|
PHP 版本: | 5+ |
示例 - 程序样式
创建 SSL 连接:
<?php
$con = mysqli_init();
if (!$con) {
die("mysqli_init failed");
}
mysqli_ssl_set($con, "key.pem", "cert.pem", "cacert.pem", NULL, NULL);
if (!mysqli_real_connect($con, "localhost", "my_user", "my_password", "my_db")) {
die("Connect Error: " . mysqli_connect_error());
}
// Some queries...
mysqli_close($con);
?>
$con = mysqli_init();
if (!$con) {
die("mysqli_init failed");
}
mysqli_ssl_set($con, "key.pem", "cert.pem", "cacert.pem", NULL, NULL);
if (!mysqli_real_connect($con, "localhost", "my_user", "my_password", "my_db")) {
die("Connect Error: " . mysqli_connect_error());
}
// Some queries...
mysqli_close($con);
?>