post

Aggiornare PHP da 5.3 a 5.4 su server CentOS 6.7 su Aruba

Primo passaggio. FARE IL BACKUP, molto importante.

Prima di agire vi consiglio di leggere tutti, fino in fondo!!!
Io non sono responsabile per eventuali perdite di dati, fermi di lavoro o danni diretti o indiretti. Questa è una procedura pubblicata per solo scopo didattico e ogni utilizzo deve essere effettuato esclusivamente da personale competente.

Verificate innanzitutto la versione di CentOS in esecuzione


# cat /etc/*release*

Se è la 6.7 è la stessa usata nel test e quindi potete andare “tranquillamente” avanti.


# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm && rpm -Uvh epel-release-latest-6.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm && rpm -Uvh remi-release-6*.rpm

Ora andiamo a abilitare il repository “REMI”

# vi /etc/yum.repos.d/remi.repo

e cambiamo “enabled=0” in “enabled=1” nel seguente blocco

[remi]
name=Remi’s RPM repository for Enterprise Linux 6 – $basearch
#baseurl=http://rpms.remirepo.net/enterprise/6/remi/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/6/remi/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

ora proviamo ad aggiornare il sistema

# yum update php

Ora provate il tutto. Se funziona correttamente il sistema rifate un backup completo.

Fatto il backup completo lanciate un aggiornamento completo del sistema.


# yum update

 

Ma un secondo… ti manca YUM?

SSH e installazione Yum su CentOs – Plesk Server

Errore Warning: strtotime(): It is not safe to rely on the system’s timezone settings.

Dopo aver aggiornato PHP ti ritrovi sul sito questi errori?

Warning: strtotime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.

La soluzione è semplice occorre definire prima della richiesta di DATE() il nostro fuso orario: per l’italia e l’europa centrale, per esempio si può impostare così:


date_default_timezone_set('Europe/Berlin');

Attenzione alle “virgolette” a volte con copia/incolla non viene bene.
Quindi basta aggiungere quella riga prima dell’esecuzione della richiesta DATE() e il problema si risolve. Basta un’input per pagina/script. Altrimenti si potrebbe anche impostare in PHP.INI se l’uso della funzione è richiesta su quasi tutte le pagine:


[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Berlin

Dopo aver modificato il vostro PHP.INI c’è da riavviare il servizio APACHE

A voi la scelta.

Errore warning: date() in riferimento a date_default_timezone_set() in PHP

Dopo aver aggiornato PHP ti ritrovi sul sito questi errori?

warning: date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.

La soluzione è semplice occorre definire prima della richiesta di DATE() il nostro fuso orario: per l’italia e l’europa centrale, per esempio si può impostare così:


date_default_timezone_set('Europe/Berlin');

Quindi basta aggiungere quella riga prima dell’esecuzione della richiesta DATE() e il problema si risolve. Basta un’input per pagina/script. Altrimenti si potrebbe anche impostare in PHP.INI se l’uso della funzione è richiesta su quasi tutte le pagine:


[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Berlin

Dopo aver modificato il vostro PHP.INI c’è da riavviare il servizio APACHE

A voi la scelta.

Aggiornare VPS a PHP più nuovo (testato su VPS CentOs Aruba con PHP 5.3.6)

http://www.atomicorp.com/wiki/index.php/PHP#Installation
http://en.ispdoc.com/index.php/Updating_PHP_in_CentOS_Linux

wget -q -O - http://www.atomicorp.com/installers/atomic | sh
(c'è un ulteriore passaggio da eseguire ma solo in alcuni casi, guardate l'errore in fondo)
yum update php



Ora è aggiornato, ma WordPress da questo errore:

Error establishing a database connection

Quindi

mysql_upgrade

e non funziona

vedendo il log diceva:
/usr/libexec/mysqld: unknown option ‘–skip-bdb’

quindi si modifica il file
/etc/my.cnf

nano /etc/my.cnf



[se nano non dovesse essere installato è possibile installarlo con:

yum install nano



oppure si può usare qualsiasi altro editor.]

aggiungedo il cancelletto davanti alla riga in questione:
# skip-bdb

service mysqld restart



e FUNZIONA!

Per sicurezza ho lanciato anche un aggiornamento del DB

mysql_upgrade -u admin -p



e poi richiede la password dell’utente.
e per completare il tutto ci vuole un reboot dei servizi apache

service httpd restart



Risultato:
php -v
PHP 5.3.6

 

AGGIORNAMENTO PER SERVER VPS CON ERRORE php-common – php-ncurses
Error: Missing Dependency: php-common = 5.2.17-1.el5.art is needed by package php-ncurses
Nel caso riceviate questo errore la cosa più semplice da fare è TOGLIERE php-ncurses
yum remove php-ncurses -y


poi potete fare
yum update

Volete invece aggiornare con YUM su CentOS e Plesk?
Ecco l’articolo che fa per voi!

Aggiornare PHP da 5.1.6 a 5.2.4 e successivi (testato su VPS Aruba)

Primo passaggio. FARE IL BACKUP, molto importante.

Prima di agire vi consiglio di leggere tutti, fino in fondo!!!

Per aggiornare un server CentOs (come quelli di Aruba) a PHP 5.2.xx la prima prova che possiamo fare è:
# yum update php
Risultato:
Il tuo PHP è già aggiornato. Questo è dovuto al fatto che CentOs lavora con pacchetti STABILI e TESTATI.

Se a noi ci dovesse servire un PHP più aggiornato (ad esempio per WordPress 3.2) la soluzione più semplice è quella che vi propongo in queste poche righe.

Riconoscere la firma
rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
La seguente solo per CentOs 5
rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

Abilitare Jason’s Utter Ramblings Repo (solo per CentOs 4)
yum utterramblings http://www.jasonlitka.com/media/EL4/$ARCH

Crea un nuovo file con le indicazioni del repository
nano -w /etc/yum.repos.d/utterramblings.repo

Aggiungere le seguenti righe di codice:

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

Attivare il repository e aggiornare php
yum update php
e proseguire con l’aggiornamento.

A questo punto mi si è bloccato tutto (le installazioni di wordpress non comunicavano più con il DB).
MySql non riesce più a partire.

Lancio
yum update
e faccio fare un aggiornamento completo.

Nulla… non parte nulla… QUINDI PER ORA IO CONSIGLIO DI NON FARE QUESTO UPGRADE COSI’… L’avevate fatto il backup, vero?

Il tutto è stato preso in rete da:
http://www.freshblurbs.com/install-php-5-2-centos-5-2-using-yum
http://www.jasonlitka.com/yum-repository/

Volete invece aggiornare Realmente PHP e/o MySQL?
Ecco l’articolo che fa per voi!

Vuoi fare l’aggiornamento a PHP 5.4??? Ecco qua un nuovo articolo

Aggiornare PHP da 5.3 a 5.4 su server CentOS 6.7 su Aruba