setting the document root path in linux

View: New views
3 Messages — Rating Filter:   Alert me  

setting the document root path in linux

by tbt :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi

I'm a newbie to php and I'm using

require_once($_SERVER['DOCUMENT_ROOT']."/includes/class.announcement.php");

to import pages in php. This works fine on a windows environment. However when I move this application to a linux environment the files dont get imported properly. This is because in a windows environment
$_SERVER['DOCUMENT_ROOT'] returns c:/xampp/htdocs etc.
but in a linux environment returns /home/servers etc.

How can this be rectified so that the path is properly picked up in a linux environment

Re: setting the document root path in linux

by chris smith-9 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

tbt wrote:

> Hi
>
> I'm a newbie to php and I'm using
>
> require_once($_SERVER['DOCUMENT_ROOT']."/includes/class.announcement.php");
>
> to import pages in php. This works fine on a windows environment. However
> when I move this application to a linux environment the files dont get
> imported properly. This is because in a windows environment
> $_SERVER['DOCUMENT_ROOT'] returns c:/xampp/htdocs etc.
> but in a linux environment returns /home/servers etc.
>
> How can this be rectified so that the path is properly picked up in a linux
> environment

Don't rely on document root.

I'm surprised it worked on windows, you were lucky - 90% of the time
it's not there or not correct anyway.

If it's in the same directory as the current file, do:

require(dirname(__FILE__) . '/includes/class.announcement.php');

__FILE__ is a built in constant that tells you the full path to the
current file.

dirname() takes the filename out of that and gives you just the current
directory (see http://www.php.net/dirname ).

Then add the rest of the on the end.

--
Postgresql & php tutorials
http://www.designmagick.com/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: setting the document root path in linux

by Jim Lucas-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

tbt wrote:

> Hi
>
> I'm a newbie to php and I'm using
>
> require_once($_SERVER['DOCUMENT_ROOT']."/includes/class.announcement.php");
>
> to import pages in php. This works fine on a windows environment. However
> when I move this application to a linux environment the files dont get
> imported properly. This is because in a windows environment
> $_SERVER['DOCUMENT_ROOT'] returns c:/xampp/htdocs etc.
> but in a linux environment returns /home/servers etc.
>
> How can this be rectified so that the path is properly picked up in a linux
> environment
are you running apache on windows and linux?

if so, setup a .htaccess file that has a line in it that modifies the php include path

place that .htaccess at your web root and you won't have to play with paths, you would call
        require_once 'includes/class.announcement.php';   instead

Fix your include paths and you wont have to worry if the system will have what it should in the
$_SERVER['DOCUMENT_ROOT'].

--
Jim Lucas

    "Some men are born to greatness, some achieve greatness,
        and some have greatness thrust upon them."

Twelfth Night, Act II, Scene V
     by William Shakespeare

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php