猿问

错误 mysqli::ssl_set(): 无法获取 mysqli

我正在尝试更新一些代码以使用新环境所需的安全连接。我觉得我已经正确地实施了更改,但我收到错误:mysqli::ssl_set():Couldnt fetch mysqli 这似乎是说 mysqli 没有初始化这没有意义,因为如果我删除了关于 SSL 的那一点,我添加它连接但由于缺少 SSL 被拒绝。关于这哪里出了问题的任何想法?


public static function singleton($db_host, $db_login, $db_password, $db_name) {

    if (!self::$instance) {

        self::$instance = new mysqli($db_host,$db_login, $db_password, $db_name);

        self::$instance->ssl_set( NULL,NULL, "/var/www/html/classes/BaltimoreCyberTrustRoot.crt.pem", NULL, NULL );

        if (mysqli_connect_errno()){

            ErrLog::write("Error while connecting to DB.");

            return null;

        }

    }

    return self::$instance;

}


守着星空守着你
浏览 152回答 1
1回答

森栏

弄清楚了。我必须初始化对象,然后将 ssl 和一些参数添加到连接调用中。        self::$instance = new mysqli();        self::$instance->init();         self::$instance->ssl_set( NULL,NULL, "/var/www/html/lib/classes/BaltimoreCyberTrustRoot.crt.pem", NULL, NULL );        self::$instance->real_connect($db_host,$db_login, $db_password, $db_name, 3306, MYSQLI_CLIENT_SSL);
随时随地看视频慕课网APP
我要回答