Indice dei contenuti
A completamento dell'articolo su come effettuare il downgrade-rollback da PHP 7.2 a PHP 7.1 su Linux CentOS pubblicato qualche giorno fa, abbiamo pensato che potrebbe essere utile realizzare una breve guida che spieghi come installare PHP 7. Sfortunatamente, digitare sudo yum install php non è sufficiente, poiché la build ufficialmente supportata su CentOS 7.4 (e relativi repository) è ancora la 5.6.
In questo articolo vedremo dunque i passaggi da effettuare per aggiungere un repository di terze parti che ci consenta di eseguire l'installazione (o aggiornamento) di PHP nel modo opportuno.
Fase 1: Aggiunta del Repository
La prima cosa da fare è aggiungere il repository adeguato alla versione di PHP che vogliamo installare all'archivio di repository presenti sulla nostra macchina CentOS: per svolgere questa operazione occorre recarsi all'interno della cartella /etc/yum.repos.d/ e creare il file ad essa corrispondente.
PHP 7.0
Questo file contiene le URL corrispondenti al Remi's RPM Repository per PHP 7.0. Per questo motivo, suggeriamo di dargli il nome remi-php70.repo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# This repository only provides PHP 7.0 and its extensions # NOTICE: common dependencies are in "remi-safe" [remi-php70] name=Remi's PHP 7.0 RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/php70/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/php70/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/php70/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php70-debuginfo] name=Remi's PHP 7.0 RPM repository for Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.remirepo.net/enterprise/7/debug-php70/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php70-test] name=Remi's PHP 7.0 test RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/test70/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/test70/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/test70/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php70-test-debuginfo] name=Remi's PHP 7.0 test RPM repository for Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.remirepo.net/enterprise/7/debug-test70/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi |
PHP 7.1
Questo file contiene le URL corrispondenti al Remi's RPM Repository per PHP 7.1. Per questo motivo, suggeriamo di dargli il nome remi-php71.repo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# This repository only provides PHP 7.1 and its extensions # NOTICE: common dependencies are in "remi-safe" [remi-php71] name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/php71/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/php71/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/php71/mirror enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php71-debuginfo] name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.remirepo.net/enterprise/7/debug-php71/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php71-test] name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/test71/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/test71/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/test71/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php71-test-debuginfo] name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.remirepo.net/enterprise/7/debug-test71/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi |
PHP 7.2
Questo file contiene le URL corrispondenti al Remi's RPM Repository per PHP 7.2. Per questo motivo, suggeriamo di dargli il nome remi-php72.repo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# This repository only provides PHP 7.1 and its extensions # NOTICE: common dependencies are in "remi-safe" [remi-php71] name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/php71/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/php71/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/php71/mirror enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php71-debuginfo] name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.remirepo.net/enterprise/7/debug-php71/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php71-test] name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/test71/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/test71/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/test71/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php71-test-debuginfo] name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.remirepo.net/enterprise/7/debug-test71/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi# This repository only provides PHP 7.2 and its extensions # NOTICE: common dependencies are in "remi-safe" [remi-php72] name=Remi's PHP 7.2 RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/php72/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/php72/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/php72/mirror enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php72-debuginfo] name=Remi's PHP 7.2 RPM repository for Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.remirepo.net/enterprise/7/debug-php72/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php72-test] name=Remi's PHP 7.2 test RPM repository for Enterprise Linux 7 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/7/test72/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/7/test72/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/7/test72/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php72-test-debuginfo] name=Remi's PHP 7.2 test RPM repository for Enterprise Linux 7 - $basearch - debuginfo baseurl=http://rpms.remirepo.net/enterprise/7/debug-test72/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi |
Fase 2: Impostazione del Repository
Ora che abbiamo aggiunto il repository al sistema, dobbiamo assicurarci che l'installer YUM lo aggiunga all'elenco dei repository da utilizzare in conseguenza dei nostri comandi install e update. Il comando terminal da eseguire dipende, anche in questo caso, dalla versione di PHP che vogliamo installare:
PHP 7.0
1 |
# yum-config-manager --enable remi-php70 |
PHP 7.1
1 |
# yum-config-manager --enable remi-php71 |
PHP 7.2
1 |
# yum-config-manager --enable remi-php72 |
Fase 3: Installazione di PHP
Dopo aver creato e abilitato il file .repo corrispondente alla versione di PHP che vogliamo installare, possiamo finalmente procedere con l'installazione mediante il comando yum install :
1 |
# sudo yum install php php-mcrypt php-cli php-gd php-curl php-mysqlnd php-ldap php-zip php-fileinfo |
Le estensioni di PHP presenti nel comando di cui sopra corrispondono a quelle più frequentemente utilizzate: inutile dire che possiamo aggiungerne altre (o rimuovere quelle indicate) a piacimento, o per meglio dire a seconda di quelle effettivamente utilizzate nella nostra configurazione e/o dai nostri applicativi.
Per il momento è tutto: ci auguriamo che questa guida possa essere d'aiuto ai tanti amministratori e/o agli sviluppatori che hanno l'esigenza di aggiornare la versione di PHP sul proprio sistema Linux CentOS!