Wie aktualisiere ich PHP schrittweise über mehrere Websites auf einem einzigen Server?

313
dave

Ich habe eine Reihe von PHP-basierten Websites, die auf einem einzelnen Linux-Server gehostet werden, für den ich PHP aktualisieren muss. Da jedoch einige Standorte QA / Staging und andere Produktionsbereiche sind, muss ich dies schrittweise tun.

Das heißt, ich möchte, dass die QA-Websites zuerst starten, sodass ich überprüfen kann, ob das Upgrade von PHP nichts kaputt macht, bevor die Produktion beginnt. Wie gehen Sie am besten vor?

Die Sites werden alle über Apache bereitgestellt und verfügen über eine eigene Vhost-Datei.

Ich stelle mir vor, dass ich (irgendwie) eine neue Version von PHP an einem bestimmten Punkt installieren kann und durch Konfiguration (Apache? Vhost?) Angeben kann, dass eine Site diese Version von PHP verwendet (und nicht die Version at /usr/bin/php).

Die fraglichen PHP-Versionen sind ziemlich alt: Ich habe an dieser Stelle ein Upgrade von PHP 5.3 auf 5.4 vorgenommen. Obwohl (natürlich) muss ich bald auf 5.6 kommen. Also bin ich nach einem Prozess, den ich wiederverwenden kann.

0
Das wäre ziemlich schwierig - und würde wahrscheinlich mehr Probleme verursachen, als es lösen würde, wenn es überhaupt machbar wäre. Eine bessere Lösung wäre es, die QA-Sites zunächst in eine VM zu verschieben, auf der die neuere Version von PHP ausgeführt wird, und zu sehen, wie sie funktioniert. Die Alternative wäre, zwei Versionen des Webservers auf verschiedenen Ports (oder IP-Adressen, die sicherstellen, dass der Server nur an die entsprechenden bindet) auszuführen. Dies ist jedoch komplex und neigt zum Brechen. davidgo vor 8 Jahren 0

1 Antwort auf die Frage

1
JakeGould

Ich habe eine Reihe von PHP-basierten Websites, die auf einem einzelnen Linux-Server gehostet werden, für den ich PHP aktualisieren muss. Da jedoch einige Standorte QA / Staging und andere Produktionsbereiche sind, muss ich dies schrittweise tun. Das heißt, ich möchte, dass die QA-Websites zuerst starten, sodass ich überprüfen kann, ob das Upgrade von PHP nichts kaputt macht, bevor die Produktion beginnt. Wie gehen Sie am besten vor?

Wenn Sie Ihre QA / Staging- und Produktionsserver in diesem Maße auf einem Server vermischt haben, machen Sie einen Fehler. Sie können keine andere PHP-Version pro virtuellem Host starten. Es ist einfach eine Version von PHP pro Apache-Installation pro Server.

Das heißt, mein Ansatz für ein solches Setup - da ich selbst gerne Ubuntu 12.04 (LTS) selbst nutze - wäre, eine virtuelle Umgebung für Desktop-Computer mit VirtualBox oder einer ähnlichen Software zu erstellen. Stellen Sie sicher, dass das virtualisierte Setup so gut wie möglich mit Ihrem aktuellen Produktionsserver-Setup übereinstimmt. Sobald diese "Sandbox" korrekt auf Ihrem Desktop ausgeführt wird, versuchen Sie, ein Upgrade von PHP durchzuführen.

Dies kann schwierig erscheinen, wenn Sie den Server im Laufe der Zeit gerade aufgebaut haben, aber ehrlich gesagt, Software, die für LAMP-Stacks entwickelt wurde, kann überall funktionieren, solange die Codebase, der Datenspeicher und die Konfiguration korrekt eingerichtet sind. Ich entwickle lokale PHP-Entwicklung (z. B. auf Mac OS X) und setze mich regelmäßig auf einem Ubuntu-Server ohne große Sorgen oder Gedanken zum Thema ein.

Aber dann sagst du das:

Die fraglichen PHP-Versionen sind ziemlich alt: Ich habe an dieser Stelle ein Upgrade von PHP 5.3 auf 5.4 vorgenommen. Obwohl (natürlich) muss ich bald auf 5.6 kommen. Also bin ich nach einem Prozess, den ich wiederverwenden kann.

Ich denke, Sie sind möglicherweise über ein Nicht-Problem sehr besorgt, es sei denn, Sie sind zu 100% sicher, dass die Codierung der Websites, die Sie verwenden, tatsächlich von einem PHP-Versionsupgrade profitieren würde.

Ich habe Dutzende von Ubuntu 12.04-Servern, die speziell für LAMP-Anforderungen wie Ihre eingesetzt werden, und niemand schwitzt die PHP 5.3-Ausgabe, da sie technisch "alt" ist, aber PHP 5.3 gilt als eine der stabileren PHP-Versionen. Ubuntu 12.04 ist auch eine LTS-Version (Long Term Service), die bis April 2017 unterstützt wird . 2 Jahre entfernt.

Das bedeutet, dass die Versionsnummern für die Software in Ubuntu 12.04 zwar oberflächlich als "veraltet" erscheinen, was die Sicherheitspatches angeht. Die Bezeichnung LTS bedeutet, dass kritische Sicherheitspatches und solche zu PHP 5.3 und ähnlichen Paketen zurückportiert werden.

Diese Art langfristiger Support ist der genaue Grund, warum Systemadministratoren sich für LTS-Installationen entscheiden: Sie müssen sich keine Sorgen um Upgrades machen, bis sie wirklich benötigt werden.