【问题标题】:Simple PHP Server info request - not working at all简单的 PHP 服务器信息请求 - 根本不工作
【发布时间】:2011-02-14 11:29:11
【问题描述】:

离开my other 问题及其pair

我正在寻找在phpinfo() 函数中找到的Hostname:Port 值。我似乎在任何地方都找不到它,它在$_SERVER不是

【问题讨论】:

    标签: php apache server-variables


    【解决方案1】:

    您可以为此使用$_SERVER['SERVER_NAME']。您只需要相应地配置服务器以使其返回预期值。您显然使用的是比 Apache HTTPD 1.3 更新的版本。

    您需要在httpd.conf<VirtualHost> 条目中将UseCanonicalName 指令设置为on(还要检查链接文档底部的警告!)。

    <VirtualHost *>
        ServerName example.com
        UseCanonicalName on
    </VirtualHost> 
    

    另见this answer

    【讨论】:

    • 好的,这行得通。现在有趣的是,而不是像我重新启动 Apache 之前那样去/var/www,它正在寻找/htdocs。我认为我没有改变任何东西,但它为什么要这样做?
    • 基本上DocumentRoot 改变了,但我检查的任何地方都没有改变。
    • &lt;VirtualHost&gt;中重新声明DocumentRoot
    • 是的,想通了。实际上是在SF上发布的。
    【解决方案2】:

    带有 PHP 5.2 $_SERVER['SERVER_PORT'] 的 Apache 2.0 服务器应该为您提供 80 个 http 连接。

    对于主机名,对我来说这两个工作相同:

    echo $_SERVER['HTTP_HOST'];
    echo $_SERVER['SERVER_NAME'];
    

    ...应该可以解决问题。

    详细了解$_SERVER 变量here

    【讨论】:

    • 对,我对这个名字更感兴趣。其实,只对名字感兴趣。
    • 用主机名更新了答案。
    • 它不在$_SERVER 中。完全没有。 print_r($_SERVER); 什么也没有出现,尤其是phpinfo(); 单元格中列出的主机名。
    • 因此..您需要配置服务器:)请参阅我之前评论中的链接。
    猜你喜欢
    • 2016-09-23
    • 1970-01-01
    • 2015-07-04
    • 2019-01-06
    • 1970-01-01
    • 2011-03-10
    • 2014-11-03
    • 2017-02-25
    • 2015-02-14
    相关资源
    最近更新 更多