2020最新PHP判断请求是否为HTTPS
客户在http时可以唤起微信扫一扫接口,可https却不行,用开发者工具查看是
签名错误,反复找原因原来是参数网址请求协议弄错了,https传的是http结果导致失败了,附上最新的判断是否为https的方法
function isHTTPS(){ if(!isset($_SERVER)) return false; if(isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] === 1 || $_SERVER['HTTPS'] === 'on')) { return true; }elseif(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'){ //Nginx return true; }elseif(isset($_SERVER['REQUEST_SCHEME']) && $_SERVER['REQUEST_SCHEME'] == 'https'){ return true; }else if(isset($_SERVER['HTTP_X_CLIENT_SCHEME']) && $_SERVER['HTTP_X_CLIENT_SCHEME'] == 'https'){ return true; }elseif ($_SERVER['SERVER_PORT'] == 443) { return true; } return false; }
多参数判断,更准确。