Cent OS-Upgrade PHP

Cent OS-Upgrade PHP

Ich bin gerade dabei, eine Reihe von Sicherheitsproblemen auf dem Server eines Kunden zu lösen, um ihn mit den Kreditkartengesetzen usw. konform zu machen.

Der erste Tagesordnungspunkt ist die Umstellung von PHP von 5.2.14 auf 5.2.16.

Wenn ich „yum update php“ ausführe, erhalte ich folgende Ausgabe:

Excluding Packages from CentOS-5 - Addons
Finished
Excluding Packages from CentOS-5 - Base
Finished
Excluding Packages from CentOS-5 - Extras
Finished
Excluding Packages from CentOS-5 - Updates
Finished
Setting up Update Process
No Packages marked for Update

Ich bin ziemlich neu bei CentOS, aber bei Debian/Ubuntu können Sie PPAs hinzufügen, um neue Softwarepakete zuzulassen. Gibt es etwas Ähnliches für CentOS? Diese Ausgabe lässt es so aussehen, als würden auch alle Hauptpaket-Repos ignoriert.

Antwort1

Ich empfehle dringend die Verwendung vonIUS-GemeinschaftsprojektRepositories zum Upgrade Ihrer PHP 5.2- und sogar PHP 5.3-Pakete auf CentOS 5. Dies sind eine Reihe sehr gut gepflegter und qualitativ hochwertiger Pakete, die verwendet werden vonRackspaceund gepflegt,aber nicht unterstütztvon ihnen (es sei denn, Sie sind natürlich ein Kunde).

Die Installationsanweisungen können etwas schwer zu finden sein, wenn Sie neu in diesem Bereich sind. Sie suchen nach demClient-Nutzungshandbuchauf ihrem Wiki. Ich werde die Anweisungen zur einfacheren Verwendung hier kopieren.

[root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-6.ius.el5.noarch.rpm 

[root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm

[root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm

Dadurch werden dieEPELund IUS-Repos für Sie.

IUS verspricht, keine widersprüchlichen Paketnamen mit den offiziellen Repos zu verwenden, einschließlich EPEL (das ist eine tolle Sache), aber so einfach ist das nicht yum upgrade php. Sie müssen zuerst alle Ihre vorhandenen PHP-Pakete deinstallieren und die entsprechenden von IUS installieren. Alternativ können Sie das yum-plugin-replacePlugin verwenden, um YUM eine nützliche „Ersetzungs“-Funktion hinzuzufügen.


Manuell

Erste:

[root@linuxbox ~]# rpm -qa | grep php

[root@linuxbox ~]# yum erase php
  • rpm -qa | grep phplistet jedes installierte PHP-Paket auf. Sie verwenden diese Liste, um alle entsprechenden einzelnen PHP-Pakete von IUS zu installieren
  • yum erase phpBefehl löscht nur PHP und seine abhängigen Pakete

Endlich:

[root@linuxbox ~]# yum search php52

[root@linuxbox ~]# yum install php52 php52-common php52-pecl-apc php52-mysql ...
  • yum search php52listet die verfügbaren PHP 5.2 Pakete auf
  • yum installinstalliert Ihre ausgewählten PHP 5.2-Pakete. Sie können die Liste, die Sie in Schritt 1 erhalten haben, verwenden, um zu bestimmen, welche Sie benötigen

yum-plugin-ersetzen

[root@linuxbox ~]# yum install yum-plugin-replace

[root@linuxbox ~]# yum replace php --replace-with php52

Dadurch wird auf magische Weise ermittelt, welche PHP-Pakete gelöscht und welche passenden php52-Pakete für Sie installiert werden sollen.

verwandte Informationen