Php 端口号重复两次?

Php 端口号重复两次?,php,Php,我有一个小错误,在我的URL的建设,我已经设置了一个测试,当我不使用端口:80和出于某种原因,如果我使用说端口:8080,它是应用端口号两次,出于某种原因在代码中无法解释它 public function get_full_url() { /** get $_SERVER **/ $server = self::get('SERVER'); $page_url = 'http'; if(isset($server['HTTPS']) and $server['H

我有一个小错误,在我的URL的建设,我已经设置了一个测试,当我不使用端口:80和出于某种原因,如果我使用说端口:8080,它是应用端口号两次,出于某种原因在代码中无法解释它

public function get_full_url()
{
    /** get $_SERVER **/
    $server = self::get('SERVER');

    $page_url = 'http';
    if(isset($server['HTTPS']) and $server['HTTPS'] == 'on')
    {
        $page_url .= 's';
    }

    $site_domain = (isset($server['HTTP_HOST']) and trim($server['HTTP_HOST']) != '') ? $server['HTTP_HOST'] : $server['SERVER_NAME'];

    $page_url .= '://';
    if($server['SERVER_PORT'] != '80')
    {
        $page_url .= $site_domain.':'.$server['SERVER_PORT'].$server['REQUEST_URI'];
    }
    else
    {
        $page_url .= $site_domain.$server['REQUEST_URI'];
    }

    return $page_url;
}

$\u服务器['HTTP\u HOST']将包含在主机:头中设置的端口号

,因此您要定义example.com:8080:8080?完成了任何基本调试,如var_dump$server,以查看端口是否已嵌入到一个或多个子值中?我已在源代码中跟踪它,调试器与请求uri无关,但无法计算它是否为outprint_r$server;几乎可以……改进拼写和语法