我在访问子域上的$_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访问文档根目录之外的文件
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] 举报,一经查实,本站将立刻删除。