簡體   English   中英

PHP MySQLi與SSL的持久連接

[英]PHP MySQLi persistent connections with SSL

我在通過ssl配置持久的MySQLi連接時遇到問題。 任何建議表示贊賞。

無持久連接:

$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());
}

輸出是

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

更新:我相信這是一個PHP錯誤https://bugs.php.net/bug.php?id=55283-對於永久連接,基本上ssl_set()被忽略了,在我的情況下,由於服務器配置,該連接降級為非SSL。

您必須在real_connect之前先運行mysqli :: ssl_set。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM