【发布时间】:2011-02-14 11:29:11
【问题描述】:
【问题讨论】:
标签: php apache server-variables
【问题讨论】:
标签: php apache server-variables
您可以为此使用$_SERVER['SERVER_NAME']。您只需要相应地配置服务器以使其返回预期值。您显然使用的是比 Apache HTTPD 1.3 更新的版本。
您需要在httpd.conf 的<VirtualHost> 条目中将UseCanonicalName 指令设置为on(还要检查链接文档底部的警告!)。
<VirtualHost *>
ServerName example.com
UseCanonicalName on
</VirtualHost>
另见this answer。
【讨论】:
/var/www,它正在寻找/htdocs。我认为我没有改变任何东西,但它为什么要这样做?
DocumentRoot 改变了,但我检查的任何地方都没有改变。
<VirtualHost>中重新声明DocumentRoot。
带有 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(); 单元格中列出的主机名。