Общий хостинг - Как php включить файл ниже веб-корня? - PullRequest
0 голосов
/ 09 октября 2011

У меня проблемы с попыткой включить файл в скрипт php. Этот файл хранится в корневой папке, которая не является настоящим корневым веб-каталогом, а является корневым каталогом, к которому у меня есть доступ через учетную запись общего хостинга.

Я создал папку в этом каталоге, в которой хранятся данные сеанса php. Конфигурация .htaccess, относящаяся к этому, будет следующей строкой:

php_value session.save_path "/usr/home/accountname/sessions"

Веб-корень будет храниться в этом каталоге:

/usr/home/accountname/public_html/domainname/

Я пытаюсь защитить скипт, содержащий данные о подключении к базе данных, в папке, которая будет выглядеть примерно так:

/usr/home/accountname/includes/

Вот как я сейчас включаю файл:

require_once $_SERVER['DOCUMENT_ROOT'].'/includes/config.php';

Я пробовал это:

require_once $_SERVER['PATH'].'/usr/home/accountname/includes/config.php';

Как $_SERVER['PATH'] указывает на /bin

Это не работает, так как страница получается пустой, это будет означать, что переменные, определенные в config.php, не активны, так как страница не была включена.

Может ли кто-нибудь предоставить некоторую информацию по этому вопросу или указать мне направление решения проблемы. Кроме того, любые учебники или другая информация, касающаяся этого, будет принята с благодарностью.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 09 октября 2011

Если скрипт, включающий config.php , хранится в корневом веб-каталоге, вы можете написать:

require_once dirname(__FILE__) . '/../../includes/config.php';

Вы уже пробовали?

1 голос
/ 09 октября 2011

Если ваш скрипт в /usr/home/accountname/public_html/domainname/something.php, вы можете использовать это:

require_once(dirname(dirname(dirname(__FILE__))).PATH_SEPARATOR."includes".PATH_SEPARATOR."config.php");
...