Un miglioramento rispetto all'altra risposta Webtatic:
1 Utilizzando la guida su http://www.webtatic.com/packages/php54/ :
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
2 Devi prima vedere quali pacchetti installati esistenti devono essere sostituiti, puoi farlo usando yum shell per combinare la rimozione di php-common e l'installazione di php54w-common in una transazione (quindi le dipendenze condivise non vengono rimosse)
yum shell
> remove php-common
> install php54w-common
> run
…
Is this ok [y/N]: n
Non dire "y" ai risultati, ma prendi nota di tutti i pacchetti menzionati in "Rimozione delle dipendenze", ad es
Removing for dependencies:
php
php-cli
php-pear
php-pecl-memcache
php-mysql
Se in questo elenco sono presenti pacchetti diversi da php *, non è possibile passare facilmente a Webtatic PHP 5.4, ma sarà necessario esaminare le alternative. Webtatic ha pacchetti sostitutivi per tutti i pacchetti php di base (vedere i pacchetti elencati nella pagina collegata in 1. per conferma), quindi non dovrebbero esserci problemi, a meno che non si utilizzino altri repository di terze parti che hanno pacchetti installati dipendenti dalla versione specifica di php installato.
Per il resto dell'installazione (ancora nella shell yum), basta rimuovere questi pacchetti e installare le loro controparti 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
Dovresti quindi vedere solo i pacchetti che hai impostato per essere rimosso e installato nell'elenco e puoi confermare l'installazione per passare. Tutti i servizi attualmente in esecuzione con php caricato dovranno essere riavviati, ad esempio httpd o php-fpm.
Per quanto riguarda questa "soluzione" senza soluzione di continuità, qualsiasi modifica del software in atto mentre gli utenti sono in grado di accedere al sito Web dovrebbe avere le conseguenze pienamente comprese. Le librerie condivise rimosse e aggiunte quando un processo non le ha già caricate potrebbero essere caricate mentre la libreria condivisa non è presente. È meglio eseguire aggiornamenti software come questo offline e preferibilmente testati prima su una macchina non di produzione per verificare che il processo funzioni come previsto.
3 Per passare a un ipotetico pacchetto php54 di base CentOS (CentOS 5 utilizzava il prefisso php53), basta eseguire i passaggi sopra sostituendo la rimozione di php con rimozione di php54w e l'installazione di php54w con installazione di php54 ad es.
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
Tuttavia, per quanto riguarda il passaggio all'ipotetica base php54, probabilmente non ci saranno alternative per alcuni pacchetti (ad esempio, non vi era alcuna estensione php53-pecl-memcache in CentOS 5) e Webtatic ha pacchetti che non sono disponibili in CentOS base (ad esempio php54w -pecl-zendopcache). Se mancano, di solito non hai altra scelta che usare pecl direttamente per installarli.
4 Qualsiasi aggiornamento di PHP può introdurre bug e i siti Web devono essere ritestati. Questo non è specifico per Webtatic, ma l'idea generale che nuove funzionalità introducano nuovi bug.
A differenza del repository di Remi nella risposta accettata, il repository ELt Webtatic non utilizza mai gli stessi nomi di pacchetto dei repository di base CentOS, quindi non sovrascriverà l'installazione / l'aggiornamento dei pacchetti a cui non si intende passare e come tale è abilitato per impostazione predefinita.
Disclaimer: sono il proprietario / manutentore di Webtatic