determine home directory?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I'm working on a PHP site and I have my database password file behind
the server root directory.

I can reference the password file by include("../"), but I would like to make the code more
portable and not have this relative path reference. Is there a way I
can know for certain what the home directory is called?

As i'm developing this project in version control, I sometimes
checkout a development branch. I want to interact with this branch, so
I put it in its own directory under the web root directory. E. g.
hosts the site, and
is where I'm testing my development.

Of course, this breaks the relative path reference in the development

I could set up another parallel site, e.g.
and that would properly reference the password file, but I'd rather
just have my checkout under the web root.  That way my code is more
portable, and I could deploy it

I could make a configuration file where I specify the reference, but
that adds an extra step when I do a checkout or export from source
control -- I need to copy in my local configuration file. It would be
great if I could have a "zero-configuration" app ( provided that the
password file already exists in the home directory).

I could try to figure out the home directory from the script path, but
that is based on the assumptions of the directory layout that this
particular hosting provider is using. If we deploy on another host, I
would have to have this "just work".

If could do something like include($_HOME . "/"); that
would make things so much simpler. Is this possible?

Re: determine home directory?

Quoted text here. Click to load it

Thanks for replying, Rik. What would you say is the best practice in
this case? Using a config file?

Re: determine home directory?

On Oct 22, 5:27=A0pm, Iv=E1n S=E1nchez Ortega <ivansanchez-...@rroba-> wrote:
Quoted text here. Click to load it

In this case, yes. If you want to have a password stored in a file,
but don't want the webserver to serve it, where would you put it, and
how would you reference it? The added wrinkle is that you want to be
able to install the php files in any directory under the web root, so
you can't just say "../" -- you could be three directories under the
web root, in which case the password file would be going in a
publically served directory, presumably with other things in that
directory already.

Quoted text here. Click to load it

That works in the shells, but PHP doesn't apparently seem to know it:

Warning: dir(~) [function.dir]: failed to open dir: No such file or

Warning: dir(~/) [function.dir]: failed to open dir: No such file or

Re: determine home directory?

Quoted text here. Click to load it

Thanks, Jerry. That's what I'm looking for!

Site Timeline