oomaster
11.04.2010, 12:32:17
Witam,
Pytanie jest czysto teoretyczne co nie znaczy ,że w praktyce nie uda się tego zrealizować

Ostatnio zainteresował mnie problem aktualizacji aplikacji PHP. Nie dawno czytałem ,że WordPress posiada system aktualizacji chyba nawet automatycznej. Jak to wszystko jest realizowane. Narazie to sobie nie wyobrażam tego.
Przykładowo user wchodzi do panelu i widzi komunikat o nowej aktualizacji. Klika i widzi komunikat proszę czekać trwa aktualizacja systemu. Wszystko fajnie ale jak to w praktyce przebiega ? Jak php w "ukryciu" pobiera pliki z serwera zewnętrznego i zapisuje na ftp ?
Po za tym jak wyglądają zabezpieczenia przed utratą połączenia ? Bo przykładowo podczas aktualizacji jakiś plik się podmienia a tu nagle sieć pada więc automatycznie plik jest w połowie podmieniony i wywala błąd ?!
Może ktoś ma do zaprezentowania prosty przykład jak to działa

Pozdrawiam
Psychopath
11.04.2010, 15:03:33
Hmm, wydaje mi się, że bez ustawienia chmodów wolnego dostępu do każdego pliku się nie obędzie. Zapewne wygląda to tak, że łączy się z jakimś zewnętrznym rssem, w którym sprawdzana jest wersja, następnie sprawdza, czy wersja jest inna od zainstalowanej i proponuje instalacje, a przy ściąganiu skrypt zapisuje pliki np z prefixem new_nazwapliku.php, a gdy cała akcja się powiedzie, to zamienia stare pliki na nowe i tyle. Ale dla mnie to zupełnie bezsensowne, szczególnie, że jeżeli serwer, na którym stoi skrypt jest na linuxie, bo wiąże się to z obniżeniem poziomu bezpieczeństwa (wspomniane chmody). Na Windowsie można to stosować mniej inwazyjnie, bo w większości przypadków serwery na windowsie nie mają żadnego zabezpieczenia przez zapisem/odczytem przez "nieadminów". Sam coś takiego chciałem zastosować w CMSie, którego pisałem kilka lat temu, ale stwierdziłem, że skrypt będzie jedynie pobierał dane z głównego serwera (nawet nie rss, tylko zwykły plik txt umieszczony na serwerze) o numerze wersji, i jeżeli istnieje nowsza to po prostu będzie w panelu admina wyświetlał informację.