2017-12-03 182 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路徑。

希望這可以幫助任何有類似問題的人。