Problema ao pegar verdadeiro IP de um usuário com uma função no PHP

Algumas vezes, a função que desenvolvi me retorna um valor em branco, sem nenhum IP. Notei depois de olhar para os cadastros de usuários no banco de dados. Há uma maneira de corrigir isto em meu código?

    public function GetIP() {

    if(!empty($_SERVER('HTTP_CF_CONNECTING_IP'))){
    return $_SERVER('HTTP_CF_CONNECTING_IP');
    
    }elseif(!empty($_SERVER('HTTP_X_SUCURI_CLIENTIP'))){
         return $_SERVER('HTTP_X_SUCURI_CLIENTIP');

    }elseif(!empty($_SERVER('HTTP_INCAP_CLIENT_IP'))){
         return $_SERVER('HTTP_INCAP_CLIENT_IP');
         
    }else{
    return $_SERVER('REMOTE_ADDR');
    }
}