PHP 5.6 su CentOS 5

In questi giorni, mi sono trovato nella necessità di passare l’ambiente server a PHP 5.6.

Purtroppo il “vecchio” server monta ancora CentOS 5.11, una distro molto robusta e stabile, ma che molti sviluppatori hanno abbandonato da parecchio preferendo la 6 o la 7.

In ambiente aziendale non è però così semplice fare l’upgrade della distro, ufficialmente non è supportato l’upgrade e per passare alle nuove major è consigliato una installazione pulita.

Per chi non può permettersi la reinstallazione del proprio server, si può comunque installare PHP fino alla verisone 5.5 utilizzando il repository di webtatics:

https://webtatic.com/packages/php55/

Per chi invece vuole passare alla 5.6 senza dover fare l’upgrade a Centos 6 oppure 7, bisogna utilizzare i repo di Remi.

https://blog.remirepo.net/

Prima di passare al nuovo PHP è necessario rimuovere la vecchia versione, e prima di fare ogni cosa, vi consiglio di fare il backup dei file di configurazione php.ini e il contenuto della cartella php.d.

Caldamente consigliato di rinominarli (file ini e cartella) in modo da effettuare una installazione pulita, e solo dopo riportare a mano le eventuali modifiche che avevate fatto alle configurazioni.

Per funzionare la repo Remi richiede sia prima installata la repo EPEL (per procedere è necessario che extras sia abilitato):

Ora installiamo Remi:

Se non ci sono stati errori, è possibile partire con l’installazione di PHP 5.6.

C’è da dire una cosa, rispetto a webtatics che suddivideva i pacchetti per nome php53w, php55w, ecc. quelli di Remi hanno voluto seguire la strada dell’override del pacchetto, in pratica quando è abilitato il repo di Remi qualsiasi pacchetto php-*  fa riferimento a quello di Remi e non ha quello fornito di base da CentOS.
Scelta discutibile, secondo me che preferivo l’organizzazione più chiara di Webtatics, e che porta anche a dover escludere i repo di base di CentOS per evitare problemi di conflitti in fase di installazione con yum (a meno che non abbiate abilitato un sistema di priorità).

Se qualcosa fa storto, controllate che le versioni precedenti di php (e pacchetti relativi) siano stati tutti completamente disinstallati.

Una volta completato, va riavviato il http.

A questo punto con il comando “php -v” controllate che la versione di php attiva sia corretta.

Nel caso il server http non usi root come utente, può essere necessario risistemare i permessi di scrittura alla cartella di session (dove PHP memorizza i dati di sessione).

La cartella di default è /var/lib/php/session

 

Per maggiori dettagli:

https://www.joeferguson.me/installing-php-5-6-x-on-centos-5-11/

 

Reply