Задумался вот над чем. Зачем установка многих скриптов, такая сложная?!
И вот что пришло на ум. Можно вполне легко сделать инсталятор для скриптов.
Нам нужно будет всего 3 файла: вебинсталер, файл с данными и скрипт для создания установки.
Первое, что сделаем – это скрипт для создания установки. Его задача рекурсивно в выбранной дире собрать все файлы и сделать zip архив. Классов для этого на phpclasses.org тьма.
Сначала думал будут проблемы при распаковке, не хватка прав и прочее, а потом понял, чаще всего владелец на диру и от кого работает апач, один и тот же. Следовательно, можем сами проставлять права и следить за ними.
Сам вебинсталер чуть сложнее. Задача распаковать и записать данные для конфига. С апдейтами тоже просто, при каждом входе в админку скрипта, проверять удаленную версию скрипта и если новее, скачать себя и распаковаться. Также как и при инсталяции.
P.S. Может я придумал велосипед, но готовых приличных решений, я не нашел.

{ 6 comments… read them below or add one }
На словах – просто. На деле – нет… Я тоже думал о подобном, решил, что это не нужно. Мне, например, не понравилось бы, если скрипт сам будет обновляться, без моего ведома или согласия.
Автоапдейт и не надо, но процесс упрощающий это – удобно.
Какие проблемы, я навскидку не вижу ((
Навскидку – многие скрипты пишут конфиги. При автоматической инсталяции, как минимум, надо проверять версии не только файлов, но и конфигов. Плюс – все пути, настройки баз, префиксы таблиц, права на файлы и т.д… Для примера, для WP я всегда ставлю readonly для конфига + для папки движка.
Ты еще учти, что если хостинг тормозной, то можно вылезти за рамки времени работы пхп. Так что ява в браузер юзеру, которая перезапускает по истечении 30-60 секунд должна быть
(у битрикса в установщике вроде есть)
Я думаю, нормальный пример автоинсталлера – скрипт go-pear
Я такой сделал для своих проектов
Leave a Comment