|
|
|
| Есть желание сделать систему, которая могла бы сама себя обновлять по мере выхода новых версий, но не могу решить каким путем пойти:
1. скрипт скачивает архив, а потом разворачивает его поверх старого кода.
плюсы в простоте реализации. Минусы в том, что придется всем файлам давать права на запись, что не есть гуд изначально.
2. скрипт скачивает архив, а затем, развернув его, связывается с собственным сервером по фтп и по одному файлу загружает обновления.
плюсы в том, что при этом не будет никакой чехарды с правами, минусы - скорость работы... файлов много - счет идет на сотни... так что возможно еще придется делать инкрементные архивы, вместо того, чтобы просто запаковать новую версию. Кроме того, необходимо иметь параметры доступа к фтп. Хранить их - плохо, а каждый раз запрашивать - утомительно.
3. скрипт скачивает файл, а затем консольными командами разворачивает поверх старого кода.
плюсы - быстро, просто. Минусы - почти та же чехарда с правами что и в первом варианте. Плюс ко всему, необходим доступ к exec, а он не везде есть...
в общем, вот такие я придумал варианты... может у кого есть идеи или обкатанные решения как эту задачу можно реализовать? | |
|
|
|
|
|
|
|
для: Loki
(14.05.2009 в 12:06)
| | Точно не понял что Вы хотите, но по любому придется "играть" с правами, пишите один скрипт который будет выполнять эту работу, а потом в процессе обновления, после успешной замены (копирования) файла ставите на него права. | |
|
|
|
|
|
|
|
для: SeletSKY
(14.05.2009 в 12:13)
| | По уму, у скрипта нет прав на изменение прав других скриптов (да и своих собственных, к слову). Во всяком случае, такое положение вещей встречалось мне на большинстве хостингов. | |
|
|
|
|
|
|
|
для: Loki
(14.05.2009 в 12:37)
| | не знаю, что вызывает проблемы, но chmod(), должен помочь не зря же его создали разработчики пхп, в моих случаях всегда срабатывало.. Только тебе нужно чтобы этот скрипт лежал на том же хостинге, и обновляльщик тебе нужен в роли сервиса, чтобы сам не обновлялся, а подключался, проверял обновления, скачивал и копировал. Ну и самая большая ошибка это представлять поставленную задачу - проблемой, все решимо и возможно. | |
|
|
|
|
|
|
|
для: SeletSKY
(14.05.2009 в 15:35)
| | Типичная ситуация:
Скрипт залитый по фтп имеет права 644 и владельца user
запускается он апачем, запущенным из под www-data. Так что все чмоды и прочие човны, равно как и попытки редактирования этого файла тут же идут лесом. Как минимум до тех пор, пока его права не станут 666 или не сменится пользователь.
Так понятнее? | |
|
|
|
|
|
|
|
для: Loki
(14.05.2009 в 12:06)
| | Может попробовать на основе CVS. По крону раз в сутки запускается скрипт, и если есть обновление - обновляет | |
|
|
|
|
|
|
|
для: GeorgeIV
(14.05.2009 в 15:21)
| | Речь не о моем сервере, а об удаленном. Что там будет стоять и что можно поставить я и знать не буду. Если там нет svn или человеку лень разобраться как он работает, обновления все равно должны быть возможны. | |
|
|
|