Php 错误mysqli::ssl_set():无法';拿不到mysqli

Php 错误mysqli::ssl_set():无法';拿不到mysqli,php,mysqli,Php,Mysqli,我正在尝试更新一些代码,以使用新环境所需的安全连接。我觉得我已经正确地实现了更改,但是我得到了错误:mysqli::ssl_set():无法获取mysqli,这似乎表明mysqli没有初始化,这是没有意义的,因为如果我删除我添加的关于ssl的位,它将连接,但由于缺少ssl而被拒绝。你知道这是怎么回事吗 public static function singleton($db_host, $db_login, $db_password, $db_name) { if (!self::$in

我正在尝试更新一些代码,以使用新环境所需的安全连接。我觉得我已经正确地实现了更改,但是我得到了错误:mysqli::ssl_set():无法获取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;
}

我明白了。我必须初始化对象,然后将ssl和一些参数添加到connect调用中

        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);