/ / PHP: zapisz do bieżącego pliku - php, plik, kontrola wersji, suma kontrolna, repozytorium

PHP: zapis do bieżącego pliku - php, file, version-control, suma kontrolna, repozytorium

Obecnie pracuję nad systemem aktualizacji aplikacji internetowych. Będzie działał jak kontrola wersji, gdzie serwer główny jest repozytorium. Różnica między moim systemem a vc polega na tym, że nie można zatwierdzić / wypchnąć itp. Na serwer główny.

Pomysł jest taki:

Użytkownik przechodzi do admin> aktualizacja

Sprawdza dostępność aktualizacji

Repozytorium główne odsyła listę wszystkich najnowszych plików wersji i ich sum kontrolnych

Aplikacja sprawdza tę listę względem plików na serwerze. Jeśli niektóre są nieaktualne / nie zgadzają się z sumą kontrolną, poproś o zawartość tych plików i przepisz pliki na serwerze.

Moje pytanie brzmi: co jeśli sam plik aktualizacjiwymaga aktualizacji ... jak mogę to zrobić? Czy będę mógł go zastąpić, nawet jeśli jest on aktualnie wykonywany? A może byłby błąd i cała rzecz wybuchnie? Domyślam się, że bieżący plik jest przechowywany w pamięci RAM, więc może się nadpisać, ale nie jestem pewien.

Dzięki

Odpowiedzi:

0 dla odpowiedzi № 1

Oto jeden ze sposobów, w jaki możesz to zrobić:

  • Zezwalaj tylko na aktualizację plików głównych za pośrednictwem strony „superadmin”
  • Utwórz „rejestr”, w którym dowolna część programu ma do niego dostęp (niektóre tylko do odczytu, a inne do pisania)
  • Gdy plik jest aktualizowany przez superadmin, sprawdza rejestr, czy plik jest czytany
  • Gdy superadmin aktualizuje dowolny plik, ustawia „rejestr” informujący, że dany plik jest aktualizowany (w efekcie blokuje go)
  • Gdy użytkownik próbuje zaktualizować system, sprawdza rejestr, jeśli plik jest ustawiony na „zablokowany”, nie będzie próbował go pobrać
  • Gdy użytkownik jest w stanie go pobrać, ustawia rejestr informujący, że plik jest odczytywany (i wyłącza go po zakończeniu)