Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Особенности ссылок (symlinks) в семействе Unix и родственных

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: symlinks Unix Apache
wwworm
Отправлено: 25 Октября, 2012 - 13:57:10
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Здравствуйте, хочу посоветоваться с уважаемым сообществом по поводу эксплуатации механизма ссылок в Юниксах/Линуксах.

Для начала опишу ситуацию: есть веб-сервер, на котором будет крутиться десяток однотипных новостных сайтов. Наполнение будет разным, а "движок" - один.
Соответственно возникла мысль, чтобы не плодить кучу одинаковых папок в разных доменах и чтобы проще обновлять и модифицировать движок сразу на ВСЕХ сайтах - воспользоваться ссылками на папки. Таким образом, если в папке оригинале добавляются/меняются файлы - они сразу добавляются/меняются во других ссылочных папках разных сайтов.

Идея была удачно обкатана на локальном апаче (так уж получилось, что он крутился не под линуксом, а под виндой) - все работает прекрасно. Когда слили на головной сервак - обнаружилась интересная особенность symlinks (в Линуксе) - если скрипт "переходит по ссылке" (меняется текущая рабочая папка), то он автоматически переходит и на другой сайт.

Продемонстрирую на примере. Есть два сайта: "demo1" и "demo2". В корне "demo1" лежит папка "engine", ссылка на которую помещается и в "demo2". Скрипт index.php выводит сначала имя текущей рабочей директории, потом меняет её на папку "engine" и повторно выводит имя текущей рабочей директории

Код index.php:

<?
echo 'starting cwd is "'.getcwd().'"<hr><br>';
chdir('engine');
echo ' NOW cwd is "'.getcwd();

-------------------------------- --------------

Результат вывода в Винде:
_______________________

starting cwd is "q:\home\demo2\www"

NOW cwd is "q:\home\demo2\www\engine

-------------------------------- --------------

Результат вывода в Юниксе:
_______________________

starting cwd is "/home/vps/data/www/demo2"

NOW cwd is "/home/vps/data/www/demo1/engine"

-------------------------------- --------------

Соответственно прошу помощи: как заставить Линукс переходя о ссылке не терять изначального домена, потому что скрипт то отработает нормально, но когда он захочет загрузить картинку или темплейт, то загрузка произойдет с другого сайта, что конечно недопустимо.

P.S. про директиву апача FollowSymLinks я слышал, но насколько удалось разобраться, она не подходит в данном случае, так как только позволяет или запрещает сам переход по ссылкам, а мне надо не только переходить, но и контролировать текущий путь.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование *nix »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB