PHP mysqli_ssl_set() 函数用法及示例

PHP MySQLi 参考手册

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版本

此函数最初是在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());
   }
?>

输出结果

已成功建立连接

PHP MySQLi 参考手册