0
我使用apache2.4设置了几个站点,并为每个站点定义了一个VirtualDocumentRoot。基本上他们都指向不同的文件夹。
PHP的$ _SERVER [“DOCUMENT_ROOT”]指向VirtualDocumentRoot中设置的任何内容,而不是DocumentRoot。我如何设置它以便PHP获取原始文档根目录而不是VirtualDocumentRoot?
我使用apache2.4设置了几个站点,并为每个站点定义了一个VirtualDocumentRoot。基本上他们都指向不同的文件夹。
PHP的$ _SERVER [“DOCUMENT_ROOT”]指向VirtualDocumentRoot中设置的任何内容,而不是DocumentRoot。我如何设置它以便PHP获取原始文档根目录而不是VirtualDocumentRoot?
行,所以我所做的就是这样的:
使用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路径。
希望这可以帮助任何有类似问题的人。
我不认为你可以。文档根本质上是(虚拟)域的根。它正在按照它应该工作的方式工作。但我认为你可以用[realpath()](http://php.net/manual/en/function.realpath.php) – icecub