Eine Verbesserung gegenüber der anderen Webtatic-Antwort:
1. Verwendung des Leitfadens unter http://www.webtatic.com/packages/php54/ :
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
2. Sie müssen zuerst sehen, welche vorhandenen installierten Pakete ersetzt werden müssen. Verwenden Sie dazu die YUM-Shell, um das Entfernen von PHP-Common und das Installieren von PHP-Common in einer Transaktion zu kombinieren (damit gemeinsame Abhängigkeiten nicht entfernt werden).
yum shell
> remove php-common
> install php54w-common
> run
…
Is this ok [y/N]: n
Sagen Sie nicht "y" zu den Ergebnissen, sondern notieren Sie sich alle unter "Entfernen von Abhängigkeiten" genannten Pakete, z
Removing for dependencies:
php
php-cli
php-pear
php-pecl-memcache
php-mysql
Wenn diese Liste andere Pakete als php * enthält, können Sie nicht nahtlos zu Webtatic PHP 5.4 wechseln, sondern müssen nach Alternativen suchen. Webtatic bietet Ersatzpakete für alle Basis-PHP-Pakete an (siehe die Pakete auf der Seite, auf die in 1. verwiesen wird, zur Bestätigung), sodass keine Probleme auftreten sollten, es sei denn, Sie verwenden andere Repositorys von Drittanbietern, auf denen Pakete installiert sind, die von der jeweiligen PHP-Version abhängig sind Eingerichtet.
Für den Rest der Installation (immer noch in Yum Shell) entfernen Sie einfach diese Pakete und installieren ihre Gegenstücke zu php54w- *:
> remove php-common php php-cli php-pear php-pecl-memcache php-mysql
> install php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> run
…
Is this ok [y/N]: y
Sie sollten dann nur die Pakete in der Liste sehen, die Sie zum Entfernen und Installieren festgelegt haben, und Sie können die Installation zum Umschalten bestätigen. Alle Dienste, die derzeit mit geladenem PHP ausgeführt werden, müssen neu gestartet werden, beispielsweise httpd oder php-fpm.
Da dies "nahtlos" ist, sollten alle Softwareänderungen, die auftreten, während Benutzer auf die Website zugreifen können, die Konsequenzen haben, die vollständig verstanden werden. Freigegebene Bibliotheken, die entfernt und hinzugefügt werden, wenn sie noch nicht von einem Prozess geladen wurden, können möglicherweise geladen werden, während die freigegebene Bibliothek nicht vorhanden ist. Es ist besser, Software-Upgrades wie dieses offline durchzuführen und sie vorzugsweise zuerst auf einem Nicht-Produktions-Computer zu testen, um zu überprüfen, ob der Prozess wie erwartet funktioniert.
3 . Um zu einem hypothetischen CentOS-Basis-PHP54-Paket (CentOS 5 verwendet PHP53-Präfix) zu wechseln, führen Sie einfach die obigen Schritte aus und ersetzen PHP-Entfernung durch PHP54W-Entfernung und PHP54W-Installation durch PHP54-Installation, z
yum shell
> remove php54w-common
> install php54-common
> run
…
Is this ok [y/N]: n
…
> remove php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> install php54-common php54 php54-cli php54-pear php54-pecl-memcache php54-mysql
> run
Is this ok [y/N]: y
Für die Umstellung auf die hypothetische Basis php54 wird es jedoch wahrscheinlich keine Alternativen für einige Pakete geben (z. B. gab es in CentOS 5 keine Erweiterung für php53-pecl-memcache) und Webtatic verfügt über Pakete, die in CentOS base nicht verfügbar sind (z. B. php54w) -pecl-zendopcache). Wenn sie fehlen, haben Sie normalerweise keine andere Möglichkeit, als sie mit pecl direkt zu installieren.
4. Jedes PHP-Upgrade kann Fehler verursachen, und Websites sollten erneut getestet werden. Dies ist nicht spezifisch für Webtatic, sondern die allgemeine Vorstellung, dass neue Funktionen neue Fehler verursachen.
Im Gegensatz zu Remis Repository in der akzeptierten Antwort verwendet das Webtatic EL6-Repository niemals dieselben Paketnamen wie CentOS-Basis-Repositorys. Daher wird die Installation / Aktualisierung von Paketen, zu denen Sie nicht wechseln möchten, nicht überschrieben und ist daher standardmäßig aktiviert.
Haftungsausschluss: Ich bin der Eigentümer / Verwalter von Webtatic