mysqli::ssl_set

mysqli_ssl_set

(PHP 5, PHP 7)

mysqli::ssl_set -- mysqli_ssl_setUsed for establishing secure connections using SSL

说明

面向对象风格

bool mysqli::ssl_set ( string $key , string $cert , string $ca , string $capath , string $cipher )

过程化风格

bool mysqli_ssl_set ( mysqli $link , string $key , string $cert , string $ca , string $capath , string $cipher )

Used for establishing secure connections using SSL. It must be called before mysqli_real_connect(). This function does nothing unless OpenSSL support is enabled.

Note that MySQL Native Driver does not support SSL before PHP 5.3.3, so calling this function when using MySQL Native Driver will result in an error. MySQL Native Driver is enabled by default on Microsoft Windows from PHP version 5.3 onwards.

参数

link

仅以过程化样式:由mysqli_connect()mysqli_init() 返回的链接标识。

key

The path name to the key file.

cert

The path name to the certificate file.

ca

The path name to the certificate authority file.

capath

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher

A list of allowable ciphers to use for SSL encryption.

Any unused SSL parameters may be given as NULL

返回值

This function always returns TRUE value. If SSL setup is incorrect mysqli_real_connect() will return an error when you attempt to connect.

参见

User Contributed Notes

quackfish at gmail dot com 14-Apr-2015 06:56
Be warned, MySQL prior to versions 5.7.3 do not require the server to use SSL [1]. In the case of PHP the client won't throw an error if the connection is downgraded to plain-text [2]

[1] http://dev.mysql.com/doc/refman/5.7/en/ssl-options.html#option_general_ssl
[2] http://www.idontplaydarts.com/2015/03/mysql-with-ssl-does-not-protect-against-active-mitm/