开发者

website hostname and docroot

Is there a way in PHP to get the hostname and document root from the server? I'd like to do this without storing them as variables in your php code. I am reluctant to use $_SERVER because I have heard it is not reliable and subject to attack. How can this be done on a virtual host? Does a reliable and safe method exist?开发者_高级运维


You could try

$docroot = getenv("DOCUMENT_ROOT");

getenv lets you access environment variables. You can see all variables that are available by printing phpinfo. Maybe apache_getenv also helps.


$_SERVER['DOCUMENT_ROOT'] is reliable but $_SERVER['SERVER_NAME'] isn’t (see Chris Shiflett’s SERVER_NAME Versus HTTP_HOST). Only if Apache’s UseCanonicalName is enabled the canonical name is shown.


Like you mentioned, you have access to : http://php.net/manual/en/reserved.variables.php There's a breakdown here of using realpath() and $_SERVER to get the doc root: http://www.helicron.net/php/

Also, you could exec('hostname') or something similar to get the hostname.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜