PHP 8.4.6 Released!

mysqli::ssl_set

mysqli_ssl_set

(PHP 5, PHP 7, PHP 8)

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

Description

Object-oriented style

public mysqli::ssl_set(
    ?string $key,
    ?string $certificate,
    ?string $ca_certificate,
    ?string $ca_path,
    ?string $cipher_algos
): true

Procedural style

mysqli_ssl_set(
    mysqli $mysql,
    ?string $key,
    ?string $certificate,
    ?string $ca_certificate,
    ?string $ca_path,
    ?string $cipher_algos
): true

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

Parameters

mysql

Procedural style only: A mysqli object returned by mysqli_connect() or mysqli_init()

key

The path name to the key file.

certificate

The path name to the certificate file.

ca_certificate

The path name to the certificate authority file.

ca_path

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

cipher_algos

A list of allowable ciphers to use for SSL encryption.

Return Values

Always returns true. If SSL setup is incorrect mysqli_real_connect() will return an error when you attempt to connect.

See Also

User Contributed Notes

quackfish at gmail dot com
10 years ago
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] https://dev.mysql.com/doc/refman/5.7/en/encrypted-connection-options.html#option_general_ssl
[2] http://www.idontplaydarts.com/2015/03/mysql-with-ssl-does-not-protect-against-active-mitm/
To Top