mysqli_ssl_set()函数使用 SSL 建立到数据库之间的安全连接。
mysqli_ssl_set()函数使用 SSL 与 MySQL 服务器建立安全连接。
注意:该函数只有在启用 OpenSSL 支持时才有效。
注意:该函数必须在 mysqli_real_connect() 之前调用。
注意:在 PHP 5.3.3 更早版本,MySQL Native Driver 不支持 SSL。自 PHP 5.3+ 起,在微软 Windows 上默认启用 MySQL Native Driver。
mysqli_ssl_set($con, $key, $cert, $ca, $capath, $cipher);
序号 | 参数及说明 |
---|---|
1 | con(必需) 这是一个表示与MySQL Server的连接的对象。 |
2 | key(必需) 这是一个字符串变量,表示密钥文件路径的名称。 |
3 | cert(必需) 这是一个字符串变量,表示证书文件的名称。 |
4 | ca(必需) 这是一个字符串变量,表示证书颁发机构文件的路径名称。 |
5 | capath(必需) 这是一个字符串变量,表示包含PEM格式的SSL CA证书的目录的路径名称。 |
6 | cipher(必需) SSL 加密允许使用的算法清单。 |
此函数返回布尔值,如果成功,则返回true;如果失败,则返回false。
此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。
以下示例演示了mysqli_ssl_set()函数的用法(面向过程风格)-
<?php //建立连接 $con = new mysqli("localhost", "root","password","test"); //安全连接 $con->ssl_set("key.pem", "cert.pem", "cacert.pem", NULL, NULL); //建立连接 $con = $con->real_connect("localhost","root","password","test"); if($con){ print("已成功建立连接"); }else{ print("连接失败 ". mysqli_connect_error()); } ?>
输出结果
已成功建立连接
在面向对象风格中,此函数的语法为$con->ssl_set();。以下是面向对象风格中此函数的示例;
<?php //建立连接 $con = new mysqli("localhost", "root","password","test"); //安全连接 $con->ssl_set("key.pem", "cert.pem", "cacert.pem", NULL, NULL); //建立连接 $con = $con->real_connect("localhost","root","password","test"); if($con){ print("已成功建立连接"); }else{ print("连接失败 ". mysqli_connect_error()); } ?>
输出结果
已成功建立连接