Increasingly I'm hardcoding '/home/username/myScriptsDir/script.php' at the start of index.php files to include some 'tools' I use during development.
Now I'm getting more use out of functions, I want a library of my own available in the same way, to every site/subdomain/app/whatever on my rented (shared) linux webserver.
Why am I finding it so hard to find a var (or constant) for '/home/username'?
phpinfo() doesn't show me anything useful. Lot's of googling, nothing sems to work on my server (see paste below, not exhaustive, just to show I've been trying)
I'm trying to get away from:
Every site/subdomain/app/whatever gets it's own script in its own $_SERVER['DOCUMENT_ROOT']
Hardcoding '/home/username/blah/'
Non-solutions like ../ when depth varies file to file
Could do but not ideal:
Use php to 'look for' a known path/file outside of public_html
The above but, make php write the path it figures out, automated-hardcoding, then delete itself... Seems a little crazy to me...
Compare get_current_user to $_SERVER['DOCUMENT_ROOT'] and make a var/constant from there (most reasonable idea so far IMO!)
Things I just added because I'm looking at it now:
Adjust $_SERVER vars using PHP Variables Manager (it's there in my cPanel)
Add my own var using PHP Variables Manager or put a php.ini file in there
Given the var isn't already there, I think there might be something bad about this idea
/* ========== INCLUDES =========== */
include '~/ti.php';
include ('~/ti.php');
include realpath('~/ti.php');
/* $_SERVER vars that don't work on my server */
include $_SERVER['HOME'] . '/ti.php';
include ($_SERVER['HOME']) . '/ti.php';
include $_SERVER['USER'] . '/ti.php';
include ($_SERVER['USER']) . '/ti.php';
include $_SERVER['USR'] . '/ti.php';
include ($_SERVER['USR']) . '/ti.php';
echo $_SERVER['HOMEDRIVE'];
echo $_SERVER['HOMEPATH'];
/* getenv instead */
include getenv("home") . '/ti.php';
include (getenv("home")) . '/ti.php';
include getenv("user") . '/ti.php';
include (getenv("user")) . '/ti.php';
include getenv("usr") . '/ti.php';
include (getenv("usr")) . '/ti.php';
include getenv("HOME") . '/ti.php';
include (getenv("HOME")) . '/ti.php';
include getenv("USER") . '/ti.php';
include (getenv("USER")) . '/ti.php';
include getenv("USR") . '/ti.php';
include (getenv("USR")) . '/ti.php';
/* posix stuff */
include(posix_getuid()) . '/ti.php';
include (posix_getpwuid(posix_getuid())) . '/ti.php';
/* =========== ECHOES ============ */
echo realpath('~/ti.php');
/* $_SERVER vars that don't work on my server */
echo $_SERVER['HOME'];
echo ($_SERVER['HOME']);
echo $_SERVER['USER'];
echo ($_SERVER['USER']);
echo $_SERVER['USR'];
echo ($_SERVER['USR']);
echo $_SERVER['HOMEDRIVE'];
echo $_SERVER['HOMEPATH'];
/* getenv instead */
echo getenv("home");
echo (getenv("home"));
echo getenv("user");
echo (getenv("user"));
echo getenv("usr");
echo (getenv("usr"));
echo getenv("HOME");
echo (getenv("HOME"));
echo getenv("USER");
echo (getenv("USER"));
echo getenv("USR");
echo (getenv("USR"));
/* posix stuff */
echo (posix_getuid());
echo (posix_getpwuid(posix_getuid()));