Как включить с самого рута с PHP - PullRequest
0 голосов
/ 28 января 2010

Я создаю CMS по принципу SaaS. У меня есть мой веб-сервер (динамический выделенный) и работает. Все идет так, как ожидалось, но теперь я наткнулся на свою систему шаблонов, а позже и на простые вещи, такие как обработка файлов. По логике, у каждого клиента есть свой хостинг-аккаунт. Все учетные записи хостинга будут запрашивать основную базу данных, размещенную на большой глобальной учетной записи, на одном сервере.

Некоторые вещи, которые необходимо обработать позже, - это простые вещи, как обработка файлов. Как правило, каждый клиент будет хранить свои собственные данные на своей учетной записи хостинга. Только базы данных и другие данные (каталог продукции, опросы и т. Д.) Будут храниться в базе данных.

Но прежде чем я смогу загружать файлы из централизованно размещенной системы, мне нужно выяснить, как добраться до указанной учетной записи хостинга. У меня есть все необходимые данные, хранящиеся в переменной сеанса, которая заполняется, когда клиент выбирает свой веб-сайт для работы (поскольку моя система поддерживает несколько сайтов).

Структура URL на моем сервере выглядит следующим образом: /home/[unix-user-name]/domains/[domain-name]/public_html/paths/to/the/folders/i/set/up/

Вторая часть в URL-адресе - это имя учетной записи хостинга, а четвертая часть - это домен от клиента. Опять же, у меня есть эта информация в переменной сеанса, готовой к доступу.

Моя единственная проблема в том, что когда клиент вошел в систему, часть базового URL уже заполнена следующим образом:

/home/ontdek01/domains/ontdek5.nl/public_html/

Мой вопрос, как я могу заставить PHP начать поиск файлов из самого корня, в данном случае home?

Ответы [ 3 ]

1 голос
/ 28 января 2010

Добавление /home к include_path в php.ini позволит include*() и require*() откорректировать свои поиски оттуда.

1 голос
/ 28 января 2010

Я не уверен, правильно ли я интерпретирую ваш вопрос, но вы пробовали что-то вроде:

chdir('/home/');

Это устанавливает рабочий каталог PHP на домашний, поэтому PHP ищет включенные файлы относительно этого каталога.

0 голосов
/ 28 января 2010

вы можете настроить что-то вроде:

$subDir = '/path/to/some/subdirectory/';
$includePath = $_SERVER['DOCUMENT_ROOT'] . $subDir;

include $includePath . 'myFile.php';

Это позволяет начать с корня вниз ($ _SERVER ['DOCUMENT_ROOT']), а затем развернуть его до подкаталога при необходимости ($ subDir).

...