1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

1.1.0 Путь до вложений на другой диск

Тема в разделе "Основные вопросы по XenForo", создана пользователем Untitled, 25.06.2015.

Загрузка
  1. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Да не в движке тут дело. То, о чем я говорю (симлинки) - это администрирование серверов. Для Linux свое решение, а для Windows - свое. Но оба решения используют штатные возможности файловых систем. В случае Windows используются возможности NTFS.
    Суть следующая. Создается папка в том месте, где нужно иметь доступ к файлам и вложенным папкам. Затем создается символическая ссылка с физического расположения этих файлов и папок, которая будет предоставлять доступ к ним. Ссылка с физического ресурса привязывается к папке, расположенной на веб-сервере. В результате при обращении к папке на веб-сервере ОС и файловая система будут "подсовывать" веб-серверу данные из другого места. При этом веб-сервер и знать не будет, что данные лежат в другом месте. Но это при условии, что веб-сервер использует штатные функции ОС, а не свои собственные. В противном случае симлинк работать на этом веб-сервере не будет. И да, данные будут доступны не только для чтения, но и для записи. В том числе и создание там папок.

    Вы просто поэкспериментируйте с какой нибудь ненужной папкой. Утилиты, которые умеют создавать и удалять ссылки, в свободном доступе находятся.
     
    Mirovinger нравится это.
  2. Untitled

    Untitled Новичок

    Регистрация:
    24.06.15
    Сообщения:
    29
    Симпатии:
    0
    Версия XF:
    1.4.5
    Все равно не очень понятное решение. Используется обычный денвер на Windows. Папка на другом диске создана, там есть уже вложения (видео и аудио файлы), а в дефолтной папке data лежат картинки, аватарки и картинки с подписей.
     
  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    В общем есть утилита mklink. С помощью ее можно создать символическую ссылку на папку, в которой будут находиться нужные данные. Сама ссылка будет располагаться в папке веб-сервера. Таким образом физически данные будут в одном месте, а для веб-сервера они будут располагаться в его папке.
    Пример использования утилиты. Там я создал папку на диске D (он физически другой), а ссылка располагается на диске C. В результате я мог спокойно скопировать файлы и папки в виртуальную папку на диске C, тогда как физически их местонахождение будет на диске D. Соответственно, место на диске C не будет заниматься ими.
    --- добавлено : Jul 1, 2015 8:11 AM ---
    В Вашем случае нужно будет все вложения с полным сохранением структуры папок перенести на другой диск, затем создать ссылку на папку с перенесенными данными. Ну и в эту же папку останется положить все остальное. То есть физически они будут на большом диске, а на веб-сервере будет только ссылка.
    Вызов mklink будет примерно такой:
    Код:
    mklink /D "c:\program files\apache2\htdocs\data" "d:\folder_with_data"
    и
    mklink /D "c:\program files\apache2\htdocs\internal_data" "d:\folder_with_internal_data"
    
    --- добавлено : Jul 1, 2015 8:13 AM ---
    При этом не надо будет указывать в конфиге ксена какие-то пути. Это будет уже забота веб-сервера, файловой системы и ОС.
     
    Последнее редактирование модератором: 09.07.2015
    Mirovinger нравится это.

Поделиться этой страницей