PHP MySQLi постоянные соединения с SSL - PullRequest
1 голос
/ 26 июля 2011

У меня проблема с настройкой постоянных MySQLi-соединений через ssl.Любые предложения приветствуются.

Без постоянных соединений:

$flags = MYSQLI_CLIENT_SSL;
$link = new mysqli();
$link->ssl_set(null, null, null, null, "RC4-MD5");
if ($link->real_connect($host, $user, $pass, $db, $port, null, $flags)) {
    $r = $link->query("SHOW STATUS LIKE 'Ssl_cipher'");
    var_dump($r->fetch_row());
}

выход

array(2) {
   [0]=> string(10) "Ssl_cipher"
   [1]=> string(18) "RC4-MD5"
}

При постоянных соединениях:

$flags = MYSQLI_CLIENT_SSL;
$link = new mysqli();
$link->ssl_set(null, null, null, null, "RC4-MD5");
if ($link->real_connect('p:' . $host, $user, $pass, $db, $port, null, $flags)) {
    $r = $link->query("SHOW STATUS LIKE 'Ssl_cipher'");
    var_dump($r->fetch_row());
}

выходis

array(2) {
   [0]=> string(10) "Ssl_cipher"
   [1]=> string(0) ""
}

ОБНОВЛЕНИЕ: я полагаю, что это ошибка php https://bugs.php.net/bug.php?id=55283 - в основном ssl_set () игнорируется для постоянных соединений, и в моем случае из-за конфигурации сервера это соединение было понижено-ssl.

1 Ответ

0 голосов
/ 26 июля 2011

Вы должны сначала запустить mysqli :: ssl_set перед real_connect.

http://www.php.net/manual/en/mysqli.ssl-set.php

...