微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

$ _SERVER 以重复的目录名称返回path

我在访问子域上的$_SERVER['DOCUMENT_ROOT']时看到一个奇怪的行为。 它包含一个不存在的重复的文件名称

以下是$_SERVER的相关输出

[DOCUMENT_ROOT] => /var/www/sub.domainname.com/sub.domainname.com [SCRIPT_FILENAME] => /var/www/sub.domainname.com/index.PHP

它应该是:

[DOCUMENT_ROOT] => /var/www/sub.domainname.com

这是虚拟主机configuration:

使用Apache访问文档根目录之外的文件

在plesk下修改Nginx代理的文档根目录

ProxyPass和DocumentRoot在一个域上

PHP file_exists不能在文档根目录之外工作

Apache DocumentRoot到虚拟主机的networking目录

<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName sub.domainname.com DocumentRoot /var/www/sub.domainname.com <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/sub.domainname.com> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>

这个问题可能是由错误配置的web服务器引起的,PHP文档说这$_SERVER['DOCUMENT_ROOT']包含在服务器配置文件中定义的脚本目录。 这可能因此与实际的脚本目录位置不同。

DOCUMENT_ROOT

当前脚本正在执行的文档根目录,如服务器的配置文件中所定义。

来源: PHP保留的变量$_SERVER[]手册页

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐