GNU/Linux >> Linux Esercitazione >  >> Cent OS

Installa / aggiorna a PHP 7.1 su CentOS 7 / RHEL 7 utilizzando Remi RPM Repo

Giorni fa ho dovuto eseguire l'aggiornamento a PHP 7.1 sul server nixcp.com, è stato un aggiornamento importante poiché stavo eseguendo PHP 5.6.x.

Questo era in cima alla mia lista di cose da fare dopo aver letto che PHP 7.1 era il 20% più veloce di PHP 7.0 (e sappiamo tutti che PHP 7.0 è circa due volte più veloce di PHP 5.6.x), poiché sono ossessionato dalla velocità del web e dal web prestazioni, questa è stata l'occasione per testare PHP 7.1 e i suoi vantaggi.

Installa PHP 7.1 su CentOS 7 passo dopo passo

Dopo aver cercato se tutte le mie app PHP fossero compatibili, ho avviato il processo di aggiornamento da PHP 5.6.x a PHP 7.1 su CentOS 7.x 64 bit. Questa è la procedura che ho usato sul mio server.

Ottieni un elenco di tutti i tuoi pacchetti PHP attuali, per ogni evenienza:

rpm -qa | grep php

Dovrebbe essere simile a questo:

[[email protected]:~]rpm -qa | grep php
php-common-5.6.30-1.el7.remi.x86_64
php-pear-1.10.3-1.el7.remi.noarch
php-pecl-memcache-3.0.8-4.el7.remi.5.6.x86_64
php-devel-5.6.30-1.el7.remi.x86_64
php-mysqlnd-5.6.30-1.el7.remi.x86_64
php-mcrypt-5.6.30-1.el7.remi.x86_64
php56-php-common-5.6.30-1.el7.remi.x86_64
php-cli-5.6.30-1.el7.remi.x86_64
php-pecl-jsonc-devel-1.3.10-2.el7.remi.5.6.x86_64
php-pecl-igbinary-2.0.1-1.el7.remi.5.6.x86_64
php-gd-5.6.30-1.el7.remi.x86_64
php-mbstring-5.6.30-1.el7.remi.x86_64
php56-runtime-2.1-5.el7.remi.x86_64
php56-php-pecl-msgpack-0.5.7-1.el7.remi.x86_64
php-5.6.30-1.el7.remi.x86_64
php-pecl-jsonc-1.3.10-2.el7.remi.5.6.x86_64
php-xml-5.6.30-1.el7.remi.x86_64
php-process-5.6.30-1.el7.remi.x86_64
php-xcache-3.2.0-1.el7.remi.5.6.x86_64
php-pecl-memcached-2.2.0-3.el7.remi.5.6.x86_64
php-soap-5.6.30-1.el7.remi.x86_64
php-opcache-5.6.30-1.el7.remi.x86_64
php56-php-pecl-jsonc-1.3.10-1.el7.remi.x86_64
php56-php-pecl-igbinary-2.0.1-1.el7.remi.x86_64
php-pdo-5.6.30-1.el7.remi.x86_64
php-fpm-5.6.30-1.el7.remi.x86_64
php56-php-pecl-zip-1.13.5-1.el7.remi.x86_64
php-pecl-zip-1.13.5-1.el7.remi.5.6.x86_64
php-pecl-msgpack-0.5.7-1.el7.remi.5.6.x86_64
php-xmlrpc-5.6.30-1.el7.remi.x86_64
[[email protected]:~]

Installa Remi Repo per CentOS 7.x

Avevo già installato il repository di Remi, ma se non lo fai, puoi farlo usando questi comandi:

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Dopodiché, abilita i pacchetti PHP-71 dal tuo repository Remi, esegui questo comando:

yum-config-manager --enable remi-php71

Uscita prevista:

[[email protected]:~]yum-config-manager --enable remi-php71
Loaded plugins: fastestmirror, langpacks
==== repo: remi-php71 =======
[remi-php71]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/7/remi-php71
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = True
enablegroups = True
...
...
...

Quindi esegui yum update:

yum update -y

Se non stai aggiornando e vuoi solo installare PHP 7.1 su CentOS 7, esegui semplicemente:

yum install php php-devel php-gd php-mbstring php-mcrypt php-soap php-mysqlnd

Dovrebbe aggiornare tutti i tuoi attuali pacchetti PHP a PHP 7.1, come vedi di seguito:

Se riscontri questo problema:

You could try using --skip-broken to work around the problem
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
php-5.6.30-1.el7.remi.x86_64 has missing requires of httpd-mmn = ('0', '20120211x8664', None)

Può essere risolto installando il pacchetto httpd, che non uso ma è richiesto:

yum install httpd -y

Successivamente ho disabilitato httpd dal processo di avvio per assicurarmi che non tenti di avviarsi insieme a Nginx e causi un conflitto con la porta 80:

systemctl disable httpd

Rimuovere Xcache, perché per quanto vedo non è disponibile per PHP 7.1.x

yum remove php-xcache* -y

Se conservi Xcache, potrebbe causare un errore yum come vedi di seguito:

--> Finished Dependency Resolution
Error: Package: 1:php-xcache-3.2.0-1.el7.remi.5.6.x86_64 (@remi-php56)
Requires: php(zend-abi) = 20131226-64
Removing: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
php(zend-abi) = 20131226-64
Updated By: php-common-7.1.3-1.el7.remi.x86_64 (remi-php71)
php(zend-abi) = 20160303-64
Available: php-common-5.4.16-42.el7.x86_64 (base)
php(zend-abi) = 20100525-64
Available: php-common-5.6.29-1.el7.remi.x86_64 (remi-php56)
php(zend-abi) = 20131226-64
Available: php-common-7.1.2-1.el7.remi.x86_64 (remi-php71)
php(zend-abi) = 20160303-64
Error: Package: 1:php-xcache-3.2.0-1.el7.remi.5.6.x86_64 (@remi-php56)
Requires: php(api) = 20131106-64
Removing: php-common-5.6.30-1.el7.remi.x86_64 (@remi-php56)
php(api) = 20131106-64
Updated By: php-common-7.1.3-1.el7.remi.x86_64 (remi-php71)
php(api) = 20160303-64
Available: php-common-5.4.16-42.el7.x86_64 (base)
php(api) = 20100412-64
Available: php-common-5.6.29-1.el7.remi.x86_64 (remi-php56)
php(api) = 20131106-64
Available: php-common-7.1.2-1.el7.remi.x86_64 (remi-php71)
php(api) = 20160303-64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

Una cosa che ho notato:alcuni pacchetti provengono ancora dalla versione PHP 5.6:

[[email protected]:~]rpm -qa | grep php56
php56-php-common-5.6.30-1.el7.remi.x86_64
php56-runtime-2.1-5.el7.remi.x86_64
php56-php-pecl-msgpack-0.5.7-1.el7.remi.x86_64
php56-php-pecl-jsonc-1.3.10-1.el7.remi.x86_64
php56-php-pecl-igbinary-2.0.1-1.el7.remi.x86_64
php56-php-pecl-zip-1.13.5-1.el7.remi.x86_64

Rimuovi quelli e installa le versioni 7.1 da Remi:

yum remove php56*
yum install yum install php71-php-common php71-runtime php71-php-pecl-msgpack php71-php-pecl-jsonc php71-php-pecl-igbinary php71-php-pecl-zip

E l'aggiornamento da PHP 5.6 a PHP 7.1 è stato completato.

Infine, assicurati di riavviare il tuo http e php-fpm per applicare le modifiche:

systemctl restart nginx
systemctl restart php-fpm

Questo è tutto, ora sai come aggiornare o installare PHP 7.1 su CentOS 7. Per favore fammi sapere se hai domande o problemi seguendo questo tutorial.

Installa / aggiorna a PHP 7.1 su CentOS 7 / RHEL 7 utilizzando Remi RPM Repo Ultima modifica:5 aprile 2017 da Esteban Borges
Cent OS
  1. Come installare o aggiornare a PHP 7 su CentOS 7 Linux Server

  2. Installa PHP Mcrypt su CentOS 6 VPS

  3. Come installare PHP 7.4/7.3/7.2 su CentOS 7/RHEL 7 e CentOS 6/RHEL 6

  4. Come installare PHP 7.4 / 7.3 su CentOS 8 / RHEL 8

  5. Come installare PHP 7.3, 7.2, 7.1 su CentOS/RHEL 6.10

Come installare/aggiornare Systemd su RHEL/CentOS 7

Come installare OpenLiteSpeed, PHP 7.0 e MariaDB su CentOS 7 / RHEL 7

Come installare Remi Repo in RHEL, CentOS, Rocky e AlmaLinux

Come installare flameshot su RHEL/CentOS usando Snapcraft

Come installare PHP 7.4 su CentOS 8 | RHEL 8

Come installare PHP 8 su CentOS/RHEL 8/7