【问题标题】:Using $_server['document_root'] on localhost/the wild web在 localhost/the wild web 上使用 $_server['document_root']
【发布时间】:2011-10-02 19:46:44
【问题描述】:

在我的 WAMP 设置中,我在多个文件路径中使用了 $_server['document_root']。 我一直在使用静态 $ROOT 变量,但我认为在上传网站时不必编辑该常量会很好。

不幸的是,在我的 WAMP 设置中,$_server['document_root'] 被定义为 'C:/wamp/www/',并且似乎没有任何链接在 Windows 上的 WAMP 下工作(尽管当我最初进行更改时它们在 Mac 上的 MAMP 上很好)。它正在查看file:///C:/wamp/www

出于安全原因和易用性的原因,我读过一篇文章支持 document_root 的优点。不过,真的推荐吗?我突然想到,根据安装情况,它可能会有所不同。

我正在考虑只定义 document_root 变量,但现在我想知道使用该变量是否可靠。

【问题讨论】:

  • 我不依赖于文档根,而是定义了一个名为 apppath 的变量/常量,它基本上保存了我的 Web 应用程序的文档根,然后在我的代码中使用该变量/常量,这样可以很容易地将网络应用程序移动到我想要的任何地方。
  • 您的问题没有任何关于现在实际问题的提示。如果您的服务器配置错误或者您实际上将文件移动到子目录中,而不是在 docroot 之下,那么使用这些 CGI 环境变量确实不切实际。
  • 现在的问题是这个设置上的 document_root 似乎被定义为 C:/wamp/www 并且我的标题都没有工作,因为它正在查找 file:///C:/wamp/万维网
  • Damon,我想你需要看看我的回答,研究 Apache DocumentRoot 配置,并了解如何通过 WAMP 为你遇到问题的站点更改 Apache 虚拟主机的配置。

标签: php localhost root server-variables


【解决方案1】:

我没有使用 WAMP 的经验,但有使用 $_SERVER['DOCUMENT_ROOT'] 和替代方案的经验。我发现$_SERVER['DOCUMENT_ROOT'] 是应用程序中最可靠的相对路径。

Reserved Variables 文档在 $_SERVER['DOCUMENT_ROOT'] 上有很多与 windows 相关的 cmets(但最具体的是 IIS,而不是 WAMP)

http://www.php.net/manual/en/reserved.variables.php#45229

在我看来,您网站的DocumentRoot 指向C:/wamp/www/,而不是www/ 中您的域的子文件夹。您可以了解 Apache 的 DocumentRoot here

【讨论】:

  • 这一切都说得通。我很想弄清楚到底发生了什么。这与我的高清与电脑上的路径有关
  • 如何配置 WAMP 以执行我上面的建议可能是在[wamp] 中提出的一个更好的问题。
  • 似乎如此。我已经把它放回了没有任何服务器变量的相对路径,因为它正在工作。
  • var_dump($_SERVER['DOCUMENT_ROOT']);会证明确实是C:/wamp/www/
猜你喜欢
  • 2013-08-12
  • 2011-12-13
  • 1970-01-01
  • 1970-01-01
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多