Резервное копирование не копирует или не создает симлинки

Стал я сегодня обновляться. Ядро сделало бэкап файловой системы и базы. На тесте все прошло хорошо, но на рабочем сайте почему-то произошел глюк и обновление вылетело с ошибкой. Не беда, восстановлю по ссылке из письма. Восстанавливаю, а сайт не работает. Почему? Да потому что при разработке модулей я помещаю их в отдельную папку на сервере и подключаю в структуру сайта через симлинки. А функция бэкапа на сайте почему-то не умеет то ли бэкапить симлинки, то ли восстанавливать их. Спасибо мне, по опыту сделал самостоятельно архив папки с сайтом и копирнул базу сайта в новую - восстановил из них.
Резюме: ISP умеет работать с симлинками, tar умеет работать с симлинками, да все умеют работать с симлинками. СS-Cart не умеет.
Пора бы научить.

Это не ошибка CS-cart. Почитайте примеры https://stackoverflow.com/questions/31633162/php-not-resolving-symbolic-link

Что-то там не в тему совсем.
Может это имели ввиду?
https://stackoverflow.com/questions/79113590/preserve-symlinks-when-creating-zip-file-with-php-ziparchive

Как раз в тему, у вас PHP не видит symlink, CS-cart тут не причем. Бекап делает скрипт, исполняет его PHP, вобщем не туда воюете, там примеры есть. Он же должен знать, что симлинк существует.

В смысле???
У меня половина сайта работает на модулях, подключенных на симлинках. Вы не читали чтоли то, что написано выше?

Прочитал и прислал как люди решали. Если найдете решение напишите, но движок тут вообще не причем, это все серверное. Просто очень часто не по делу пишется чтото поправить. Тут сходу нет ошибки в работе движка.

1 лайк

В чем-то я согласен. Но нет вообще никакой проблемы хотябы поместить в архив файлы, размещенные по симлинкам, и потом развернуть их как обычные. Это сохранит работоспособность сайта. А так, что я это не умею, но и это делать не буду… Так себе решение.

Соглашусь с @a.shishkin. Это никак не тянет на баг в продукте. Перенесу тему в предложения.

В документации CS-Cart есть рекомендации по созданию модулей. Следуйте им.