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