PHP:如何不对Web应用程序root进行硬编码

Svi*_*ish 7 php web-applications path document-root

我目前在我的应用程序的配置文件中有以下内容:

define('DOCROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
define('WEBROOT', 'http://localhost/samples/');
Run Code Online (Sandbox Code Playgroud)

第一行完美无缺.我可以在任何地方包含配置文件,然后DOCROOT按预期使用常量.

第二行也适用,但它是硬编码的,这意味着当我将此文件上传到我的网络服务器时,它将是错误的.它应该是http://samples.example.com.是否有一种好方法可以防止这种硬编码?我觉得我必须在某个地方硬编码,在那种情况下,我可以逃脱的是什么和多少?

Mfo*_*foo 2

define('WEBROOT', 'http://'.$_SERVER['HTTP_HOST'].'/');
Run Code Online (Sandbox Code Playgroud)