我跑了测试,并都$_SERVER["SITE_HTMLROOT"]
和$_SERVER["DOCUMENT_ROOT"]
似乎回到了相同的路径。他们有没有可能会有所不同的情况?如果没有,围绕一个选择另一个是否有任何考虑?
$_SERVER
是一个包含标题,路径和脚本位置等信息的数组。该数组中的条目由Web服务器创建。不能保证每个Web服务器都可以提供其中的任何一个。服务器可能会省略某些服务器,或提供此处未列出的其他服务器。就是说,在»CGI / 1.1规范中考虑了很多这些变量,因此您应该可以期待这些变量。
还要注意,其键名开头的值HTTP_
是从HTTP请求标头中提取的,如果请求中不包含相应的标头,则它们将丢失。
关于您的问题:
他们有没有可能会有所不同的情况?如果没有,围绕一个选择另一个是否有任何考虑?
正如@ÁlvaroGonzález在其评论中解释$_SERVER["SITE_HTMLROOT"]
的那样,它是由网络托管公司MediaTemple提供的。
很明显,$_SERVER["SITE_HTMLROOT"]
在代码中使用会阻止它在另一个没有提供值的环境中运行。
另外,我也不建议使用$_SERVER["DOCUMENT_ROOT"]
任何一个。即使它可能在您可以到达的大多数环境中都可以工作,最好编写(而不是简单地)编写代码以使其工作而不关心磁盘在磁盘上的位置。它所需要的全部都在项目目录中。您可以在运行时使用magic常量__FILE__
,函数dirname()
和字符串连接获取各种项目文件和目录的路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句