In reply to:
I am using a PHP template system and have installed them above the root (for more security). Unfortunately, I get errors unless the server name is included in the path that points to the templates.
When you say "template system", what're we talking about here?
In reply to:
For example in the php file:
template_dir = '/home/.servername/username/templates';
Odd. I've never heard of PHP being unable to resolve symbolic links.
Using a regular everyday PHP "include" statement(s), it should simply be:
$template_dir = '/home/username/templates';
..and then something like:
include $template_dir."somescript.php";
It may or may not be worth mentioning that if this is just plain-old PHP, variable names need that "$".
If that's not the case, some other things to check would be:
1) permissions on the "templates" directory, which should be 755 (lists as drwxr-xr-x).
2) permissions on the scripts in that directory, which should all be 644 (lists as -rw-r--r--)
If none of that works, then the only thing I can think of to try is a relative path, ie:
$template_dir = '../templates'.
After that, it probably means there's some restriction ("open_base_dir"..?) in the system (DH's) php.ini or similar equivalent in the server's httpd.conf file, both of which are issues for DH tech support --OR-- you'll just have to move your templates directory in under the sitename directory (in which case you'll definitely want to set permissions as listed above).
All in all, it may be bad practice to put the non-symlinked directory in there, but if it makes every thing work, small price to pay in terms of having rarely having to change it (..duct tape isn't a pretty fix either, but it does a damn good job sometimes). I would imagine (hope) DH staff would notify you before swapping your account onto a different machine anyways, which means you'll be able to schedule the change in a timely fashion.