Обновление самостоятельно установленных файлов PHP? - PullRequest
1 голос
/ 01 марта 2011

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

Моя идея, которую я хочу реализовать, заключается в следующем:

  1. Проверьте последнюю версию на веб-сайте Vizulium (на странице отображается только текущая стабильная версия).
  2. Если существует более новая версия, и пользователь запрашивает ее:
    а. Zip обновленные файлы на сервере Vizulium
    б. Загрузите файлы на сервер пользователя.
    с. Распаковать содержимое

У меня уже есть система отслеживания, которая отслеживает обновления (дата / время), которые я нажимаю. Я не начал шаг 2. Все в PHP и MySQL.

Это типичная реализация проблемы? Нужно ли что-то уточнить?

Я не использую FTP, поскольку он устанавливается самостоятельно, и я предполагаю, что пользователь неграмотен в программировании.

1 Ответ

0 голосов
/ 01 марта 2011

Ваше решение действительно, но требует нескольких дополнительных соображений.

Вы должны подключиться к вашему серверу через HTTPS и с проверкой сертификата, чтобы запросить и получить любые доступные обновления.

Вы должны подписать свои обновления закрытым ключом, и клиент должен проверить их как подлинные перед их применением.

Если вам нужно удалить устаревший файл из установки, разархивирование не сделает этого, возможно, в каждом обновлении должен быть скрипт «upgrade.php», который выполняется для выполнения каких-либо дополнительных необходимых шагов.

Ваш сценарий обновления должен сделать резервную копию веб-каталога и базы данных перед выполнением обновления и сохранять резервную копию до тех пор, пока пользователь не запросит ее удаление.

Сделайте ваши обновления инкрементными, поэтому для обновления с 1 -> 3 вам нужно сначала обновить до версии 2. Это, конечно, было бы прозрачно для пользователя, но гарантировало бы, что обновления между версиями будут завершены и все обновления / модификации базы данных будут применены в правильном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...