Was sind best practices für self-Update PHP+MySQL-Anwendungen?

Es ist ziemlich standard-die Praxis jetzt für desktop-Anwendungen zur selbst-Aktualisierung. Auf dem Mac, alle nicht-Apple-Programm, das verwendet Sparkle in meinem Buch ist ein instant-win. Für Windows-Entwickler, dies wurde bereits ausführlich diskutiert. Ich habe noch nicht gefunden Informationen zu self-updating-web-Anwendungen, und ich hoffe, Sie können helfen.

Ich bin Aufbau einer web-Anwendung, die gemeint ist, um installiert werden, wie WordPress oder Drupal - entpacken Sie es in ein Verzeichnis, traf installieren-Seite, und es ist bereit zu gehen. Um breiten-server Kompatibilität, ich wurde gebeten, den Einsatz von PHP und MySQL -- ist, dass **MP? In jedem Fall, es hat im großen und ganzen cross-Plattform. Für Kontext ist dies im Grunde eine unified-web-messaging-Anwendung für kleine Unternehmen. Es ist nicht ein anderes CMS-Plattform, denke webmail.

Ich will wissen, zur selbst-Aktualisierung von web-Anwendungen. Zunächst (1) ist das eine schlechte Idee? Ab WordPress 2.7 das automatische update ist eine einzelne Schaltfläche, die scheint einfach, und doch kann ich mir vorstellen, so viele Möglichkeiten, wie das gehen könnte schrecklich, schrecklich schief. Auch ist es nicht die Idee, dass die web-Dateien sind beschreibbar durch den web-Prozess eine Sicherheitslücke?

(2) lohnt sich der Entwicklungsaufwand? Es gibt wahrscheinlich Millionen von WP installiert in der Welt, so lohnt es sich wahrscheinlich, die Zeit, die die WP-team machen es einfach, sparen Sie Millionen von Arbeitsstunden, die weltweit. Ich kann mir nur vorstellen, ein paar tausend Installationen meiner software -- ist der Aufbau von self-upgrade lohnt sich die einmalige Investition, oder kann ich davon ausgehen, dass die Benutzer hoch entwickelt genug, um download und Installation von web-software in den ersten Platz gehen konnte, durch eine upgrade-Checkliste?

Wenn es nicht eine security-Katastrophe oder Verschwendung von Zeit, dann (3) ich bin auf der Suche nach Anregungen aus wer es getan hat, bevor. Halten Sie eine version der Tabelle in deiner Datenbank? Wie verwalten Sie DB-upgrades? Welche Methode verwenden Sie für Rollback ein teilweises upgrade im Rahmen eines self-updating-web-Anwendung? Habe mit einem ORM-layer machen es leichter oder schwieriger? Haben Sie eine delta von version änderungen oder tun Sie nur sprengen, die ganze Sache, jedes mal?

Ich Schätze Ihre Gedanken dazu auf.

  • Ich hatte gefragt, eine ähnliche Frage vor einer Weile, die hilfreich sein könnten.
  • gute Frage. Ich denke, selbst die Aktualisierung nicht nur die Schnitte nach unten auf installieren Stunden, aber gibt Ihnen die Fähigkeit zu beheben distributed security-Probleme on the fly. so viele open-source-Anwendungen erhalten Masse ausgenutzt sobald eine Sicherheitslücke gefunden wird. aber Sie haben Recht, es gibt so viele Dinge, die schief gehen könnte. was ist, wenn der Benutzer passt den code für eine?
Schreibe einen Kommentar