2017-12-03 104 views
0

我使用apache2.4设置了几个站点,并为每个站点定义了一个VirtualDocumentRoot。基本上他们都指向不同的文件夹。

PHP的$ _SERVER [“DOCUMENT_ROOT”]指向VirtualDocumentRoot中设置的任何内容,而不是DocumentRoot。我如何设置它以便PHP获取原始文档根目录而不是VirtualDocumentRoot?

+1

我不认为你可以。文档根本质上是(虚拟)域的根。它正在按照它应该工作的方式工作。但我认为你可以用[realpath()](http://php.net/manual/en/function.realpath.php) – icecub

回答

0

行,所以我所做的就是这样的:

使用VirtualDocumentRoot无论如何,但DocumentRoot的手动改变什么,我想它是用这种方法:

在Apache的网站虚拟主机的配置添加此:

php_admin_value auto_prepend_file /var/www/html/setdocroot.php 

Setdocroot.php:

<?php 
$_SERVER['DOCUMENT_ROOT'] = "/var/www/html"; 

这样,文件仍然由指定的VirtualDocumentRoot提供,但PHP的$ _SERVER [“DOCUMENT_ROOT”]仍然使用DocumentRoot路径。

希望这可以帮助任何有类似问题的人。