Blog

Aggiornamento a PHP 5.2 con CentOs 5 e Plesk

Posted by:

Con l’ultimo aggiornamento di WordPress, il 3.2.1, le versioni di PHP antecedenti la 5.2.4 non sono più supportate. Per questo motivo molti hosting provider ricevono richieste per aggiornare la versione di PHP. CentOs 5 include la versione 5.1 come standard e da CentOs 5.6 è possibile installare il package separato php53 con la versione 5.3.x, ma Plesk 8 include una versione di horde che presenta alcuni problemi con php 5.3, senza contare che alcuni siti di clienti potrebbero diventare incompatibili. Per questo motivo ho deciso di optare per un meno radicale aggiornamento all’ultima 5.2.x.

La soluzione l’ho trovata sul wiki di CentOs, che mantiene un repository development. Trovate il documento originale a questo indirizzo.

Di seguito ho preparato una versione in italiano della procedura di upgrade:

Controllo della versione di PHP

Per prima cosa controlliamo che i pacchetti installati siano quelli originali di CentOs, come in questo caso:

# rpm -qa |grep php
php-pdo-5.1.6-23.2.el5_3
php-xml-5.1.6-23.2.el5_3
php-5.1.6-23.2.el5_3
psa-php5-configurator-1.4.0-cos5.build86080722.00
php-pgsql-5.1.6-23.2.el5_3
php-mbstring-5.1.6-23.2.el5_3
php-cli-5.1.6-23.2.el5_3
php-imap-5.1.6-23.2.el5_3
php-mysql-5.1.6-23.2.el5_3
php-common-5.1.6-23.2.el5_3
php-gd-5.1.6-23.2.el5_3

Nel caso stiate utilizzando dei package che non provengono dal repository standard di CentOs (come php-mcrypt) occorre disinstallarli e procurarsi l’update.

Aggiunta del repository development

Con il vostro editor preferito create un nuovo file di configurazione:

joe /etc/yum.repos.d/CentOS-Testing.repo

E incollate questo testo all’interno del file

# CentOS-Testing:
# !!!! CAUTION !!!!
# This repository is a proving grounds for packages on their way to CentOSPlus and CentOS Extras.
# They may or may not replace core CentOS packages, and are not guaranteed to function properly.
# These packages build and install, but are waiting for feedback from testers as to
# functionality and stability. Packages in this repository will come and go during the
# development period, so it should not be left enabled or used on production systems without due
# consideration.
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*

Controllare che non ci siano spazi non voluti all’inizio delle righe e salvare il file.

Aggiornamento di PHP con yum

Visualizzate un’ultima volta i package installati

# rpm -qa |grep php

A questo punto si tratta semplicemente di procedere all’aggiornamento:

# yum update

Controllate un’ultima volta che non ci siano package installati che non verranno aggiornati (ad eccezione ovviamente di eventuali package PSA di Plesk). Se tutto ok accettate l’aggiornamento, altrimenti disinstallate i package di repository esterni e procedete.

Conclusione

Riavviare Apache

# /etc/init.d/httpd restart

A questo punto dovrebbe essere tutto pronto e la lista dovrebbe essere simile a questa:

[root@weblx02 ~]# rpm -qa |grep php
php-mbstring-5.2.10-1.el5.centos
php-5.2.10-1.el5.centos
php-common-5.2.10-1.el5.centos
php-gd-5.2.10-1.el5.centos
php-pdo-5.2.10-1.el5.centos
php-imap-5.2.10-1.el5.centos
php-cli-5.2.10-1.el5.centos
psa-php5-configurator-1.5.3-cos5.build95101209.05
php-xml-5.2.10-1.el5.centos
php-mysql-5.2.10-1.el5.centos

# php -v PHP 5.2.10 (cli) (built: Nov 13 2009 11:24:03) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

Testate il vostro sito WordPress 3.1.2 per vedere se funziona perfettamente.
 

0


# #