WinSCP, Debian & Sublime Text - изменение файла не распознается сервером

Я подключаюсь к серверу Debian с помощью WinSCP (с секретным ключом, а не паролем, если это имеет значение). Он настроен так, что когда я дважды щелкаю файл, он открывается в Sublime Text (v3, Build 3065).

Теперь, когда я сохраняю в Sublime, WinSCP обнаруживает сохранение и загружает только что отредактированную версию.

Некоторое время я использовал эту технику на нескольких разных серверах, и она работает безупречно, однако на ЭТОМ новом сервере, на котором я работаю - изменения появляются только после нескольких попыток сохранения.

WinSCP, кажется, распознает изменение файла и загружает его - так что я предполагаю, что это будет что-то на сервере - особенно, если оно работает на других серверах.

Любые идеи будут высоко оценены.

1 ответ

Решение

Вероятно, это проблема летнего времени, часового пояса или аналогичной отметки времени.

При загрузке WinSCP по умолчанию обновляет временную метку файла в соответствии с локальной версией файла. Отметка времени должна быть "сейчас", так как вы только что сохранили файл. Скорее всего, WinSCP или FTP-сервер не сможет правильно преобразовать временную метку, поэтому полученная временная метка будет старше предыдущей версии файла. Если веб-сервер (или какое-либо приложение использует файл) использует кэширование (или компиляцию "точно в срок", или аналогичную), он может считать загруженный файл старым и не заслуживает повторного чтения / повторной компиляции.

Эта проблема характерна для Windows XP и более ранних версий (из-за так называемой "ошибки DST" в этих версиях). Но это может произойти и в более новых версиях Windows, особенно если опция " Автоматически настраивать часы на летнее время " была отключена.

См. Часто задаваемые вопросы по WinSCP. Почему изменения, загружаемые на веб-сервер, не отображаются в веб-браузере? и статья о метках времени.

Другие вопросы по тегам