PHP-Dateien updaten über fremden Server?

  • Themenstarter Themenstarter ByeBye 242513
  • Beginndatum Beginndatum
B

ByeBye 242513

Guten Abend und Hallo :)

Ich möchte in meinem CMS gerne die Möglichkeit von Updates ermöglichen. Dies habe ich mir so gedacht:
Auf meinem Server liegt eine aktuelle ZIP- oder PHP-Datei, diese kann der Benutzer nun direkt vom CMS auf seinen eigenen Server downloaden und werden dann automatisch entpackt und ersetzt.

Meine Frage nun:
Wie kann ich den Datenaustausch (Aktualisierung/Update) komfortabel für den Benutzer ermöglichen?
 
Verstehe die Frage nicht so ganz.

Wenn der Benutzer die aktuelle Datei von dir downloaden und auf seinen Server/Domain (? ? ?) übertragen kann, dann hat er doch alles was er braucht.

Was soll da noch komfortabel gemacht werden?
 
Ich vermute, er meint eine Autoupdate funktion.

Ein Script soll auf seinem Server schauen ob eine aktuelle Version vorhanden ist, diese dann auf den Webhost laden und installieren.

Das würde mich allerdings auch interessieren, bin da auch auf noch keinen guten ansatz gekommen.
 
Ich würde es so implementieren:

Im CMS wird angezeigt das eine neue Version verfügbar ist -> AktualisierenButton

Paket wird auf den User-Websapce geladen und entpackt.

Dateien werden in die Ordner kopiert und gegebenfalls ersetzt.

Datenbank-Update/erstellen der neuen Tabellen/Felder

Plugins-Registrieren oder ähnliches.
 
Ich würde dann überall ein extra Verzeichnis "update" anlegen und in dieses Verzeichnis muss die ZIP-Datei dann übertragen werden.

Die ZIP-Datei enthält neben den ganzen anderen neuen Dateien auch eine "update_install.php".

So bald die Dateien aus den ZIP-Archiv entpackt wurden, wird diese Datei aufgerufen und sie führt dann alle notwendigen Schritte aus.

Dabei muss dann z.B. auch geprüft werden ob alle vorherigen Updates auch eingespielt wurden oder ob dieses Update bereits ausgeführt wurde.

Wenn alle Schritte fehlerfrei duchgeführt wurden können zum Schluss die Dateien die dabei waren im Verzeichnis "update" gelöscht werden.
 
So auf die Schnelle würde ich sagen man legt (ebenfalls im Verzeichnis "update") eine Datei "version_check.php" an die die aktuelle Version der Datenbank ausliest.

Wenn sich ein User jetzt anmeldet wird diese Datei auf seinem Server aufgerufen und sie liefert dann die Nummer der aktuellen Version.

Oder umgekehrt. Wenn man sich am eigenen Server einloggt, wird an den anderen Server die Versionsnummer geschickt und geprüft ob es schon was neueres gibt.
 
Aber mit welcher Funktion macht man das?

Ich würd es zb nicht machen, das der Server an meine Datenbank kommt, weil ich dann meine Zugangsdaten irgendwo hinterlegen müsste. Und das wäre nicht von Vorteil.
 
Nein musst du nicht:

SERVER A: Auf im liegen die Updates und die Datei "version_check.php"

SERVER B: Ist dein Server der nach Updates schaut.

Auf deinem SERVER B hast du jetzt eine Seite mit einem dynamischen Link. Dieser Link wird immer beim Aufruf der Seite erstellt: "www.server_a.de/version_check.php?ver=5"

"5" ist die Version deiner DB und dieser Wert wird eben dynamisch an den Link angehängt und ist somit immer aktuell. Wenn du den Link anklickst schickst du die Versionsnummer ab und bekommst als Antwort ob du aktuell bist oder nicht.

Andere Möglichkeit ist das du auf SERVER B eine Seite hast in die du via "include" die Seite "version_check.php" bei dir einbindest und das so abwickelst.
 
Ihr habt mich richtig verstanden ich meinte eine AutoUpdate-Funktion. Mein einziges Problem was ich noch habe ist:

Wie kann ich eine ZIP Datei von Server A zu Server B übertragen?
 
Zurück