Hace días tuve que actualizar a PHP 7.1 en el servidor nixcp.com, fue una actualización importante ya que estaba ejecutando PHP 5.6.x.
Esto estaba en la parte superior de mi lista de tareas después de leer que PHP 7.1 era un 20 % más rápido que PHP 7.0 (y todos sabemos que PHP 7.0 es aproximadamente el doble de rápido que PHP 5.6.x), ya que estoy obsesionado con la velocidad web y la velocidad web. rendimiento, esta fue la oportunidad de probar PHP 7.1 y sus beneficios.
Instalar PHP 7.1 en CentOS 7 paso a paso
Después de investigar si todas mis aplicaciones PHP eran compatibles, comencé el proceso de actualización de PHP 5.6.x a PHP 7.1 en CentOS 7.x de 64 bits. Este es el procedimiento que utilicé en mi servidor.
Obtenga una lista de todos sus paquetes PHP actuales, por si acaso:
rpm -qa | grep php
Debería verse similar a esto:
[[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]:~]
Instalar Remi Repo para CentOS 7.x
Ya tenía instalado el repositorio de Remi, pero si no lo tienes, puedes hacerlo usando estos comandos:
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7.rpm
Después de eso, habilite los paquetes PHP-71 desde su repositorio de Remi, ejecute este comando:
yum-config-manager --enable remi-php71
Salida esperada:
[[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 ... ... ...
Luego ejecute la actualización de yum:
yum update -y
Si no está actualizando y solo desea instalar PHP 7.1 en CentOS 7, simplemente ejecute:
yum install php php-devel php-gd php-mbstring php-mcrypt php-soap php-mysqlnd
Debería actualizar todos sus paquetes PHP actuales a PHP 7.1, como puede ver a continuación:
Si tienes este 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)
Se puede arreglar instalando el paquete httpd, que no uso pero es necesario:
yum install httpd -y
Después de eso, deshabilité httpd del proceso de arranque para asegurarme de que no intentará arrancar junto con Nginx y causar un conflicto en el puerto 80:
systemctl disable httpd
Eliminar Xcache, porque por lo que veo no está disponible para PHP 7.1.x
yum remove php-xcache* -y
Si conserva Xcache, puede generar un error de yum como se ve a continuación:
--> 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 que noté:algunos paquetes aún son de la versión 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
Elimínelos e instale las versiones 7.1 de 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
Y se completó la actualización de PHP 5.6 a PHP 7.1.
Finalmente, asegúrese de reiniciar su http y php-fpm para aplicar los cambios:
systemctl restart nginx systemctl restart php-fpm
Eso es todo, ahora sabe cómo actualizar o instalar PHP 7.1 en CentOS 7. Si tiene alguna pregunta o problema con este tutorial, hágamelo saber.
Instalar / Actualizar a PHP 7.1 en CentOS 7 / RHEL 7 usando Remi RPM Repo was last modified:abril 5th, 2017 by Esteban Borges