You could create a constant in your main include file (e.g. config.php) which holds the hard-coded document root info as opposed to using a superglobal variable. You only really need to use this on '2nd generation include files' - the ones that are referenced by other include files. Does that make sense?
Suppossedly, I,ve been denied access to the root directory
// This is the directory tree
//And my root directory is public_html
Warning: include() [function.include]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/home/a2246674/public_html/Dir0/Dir1/dir2/file1.php) is not within the allowed path(s): (/home/:/usr/lib/php:/tmp)
OK, so does the $_SERVER not work for you? Have you got free hosting? If so, perhaps you should consider a paid account. If the superglobal doesn't work, I don't know of any substitute. Sorry.