Обновление Framework для PHP - PullRequest
       17

Обновление Framework для PHP

3 голосов
/ 10 сентября 2010

Кто-нибудь знает структуру (написанную на PHP) для обновления программного обеспечения на основе PHP?

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

В идеале с лицензией с открытым исходным кодом без авторского лева (например, лицензия BSD или MIT, без GPL).

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

Ответы [ 2 ]

3 голосов
/ 29 марта 2011

Я разработал собственное решение, которое предоставляет функции для генерации, проверки и установки пакетов обновлений.

По сути, оно использует функции PHP OpenSSL для шифрования с открытым ключом (RSA) ключа для симметричного шифрования., mcrypt для симметричного шифрования (AES) и ZIP в качестве формата контейнера.Эти строительные блоки используются для создания компактных пакетов обновлений и обеспечения целостности и подлинности данных.

Можно также использовать openssl_pkcs7_sign() и openssl_pkcs7_encrypt() и их аналоги дляMIME-совместимое шифрование, однако, похоже, что эти функции используют 7-битное кодирование и, следовательно, делают архивы довольно большими.

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

Обновление выполняется следующим образом:

Извлечение содержимого архива ZIP во временную папку

  • Выполнение сценария предварительного обновления
  • Переместите новый каталог приложения в нужное место, используя временное имя
  • Переместите старый каталог приложения в другое место или переименуйте его
  • Переименуйте новый каталог приложения в его ожидаемое имя
  • Запустите сценарий пост-обновления
  • Если что-то пойдет не так, попробуйте откат -

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

1 голос
/ 10 сентября 2010

А как насчет программного обеспечения, которое использует инструмент управления исходным кодом, например, git для проверки новых обновлений и загрузки самого нового коммита?

...