CentOS 7 viene con la versión 5.4 de PHP, que ha sido EOL oficial durante bastante tiempo y ya no es compatible.
Al usar PHP 7, sus aplicaciones se cargarán más rápido y consumirán menos recursos del sistema.
En este tutorial, explicaremos cómo instalar o actualizar a PHP 7.0. 7.1, 7.2 y 7.3 en un sistema CentOS 7. También le mostraremos cómo integrar PHP con Nginx y Apache.
Además, antes de instalar una versión específica de PHP 7.x, asegúrese de que sea compatible con su aplicación.
Requisitos previos #
Antes de comenzar con este tutorial, asegúrese de haber iniciado sesión en su servidor con una cuenta de usuario con privilegios de sudo o con el usuario root. Es una buena práctica ejecutar comandos administrativos como usuario sudo en lugar de root. Si no tiene un usuario sudo en su sistema, puede crear uno siguiendo estas instrucciones.
Habilitación del repositorio Remi #
Los paquetes de PHP 7.x están disponibles en varios repositorios diferentes. Usaremos el repositorio de Remi, que proporciona versiones más recientes de varios paquetes de software, incluido PHP.
El repositorio Remi depende del repositorio EPEL. Ejecute los siguientes comandos para habilitar los repositorios EPEL y Remi:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Yum puede solicitarle que importe la clave GPG del repositorio. Escribe y
y pulsa Enter
.
En las siguientes secciones, cubriremos cómo instalar PHP 7.x al habilitar el repositorio Remi apropiado. Si ya tiene PHP 5.4 instalado en su sistema yum
actualizará los paquetes de PHP.
Instalando PHP 7.3 en CentOS 7 #
PHP 7.3 es la última versión estable de PHP. La mayoría de los frameworks y aplicaciones PHP modernos, incluidos WordPress, Drupal, Joomla y Laravel, son totalmente compatibles con PHP 7.3.
Realice los pasos a continuación para instalar PHP 7.3 en CentOS 7.
-
Comience habilitando el repositorio PHP 7.3 Remi:
sudo yum-config-manager --enable remi-php73
-
Instale PHP 7.3 y algunos de los módulos PHP más comunes:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
Verifique la instalación de PHP, escribiendo el siguiente comando que imprimirá la versión de PHP:
php -v
PHP 7.3.1 (cli) (built: Jan 8 2019 13:55:51) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.1, Copyright (c) 1999-2018, by Zend Technologies
Instalando PHP 7.2 en CentOS 7 #
Use PHP 7.2 solo si va a instalar aplicaciones como Magento 2 que no es compatible con PHP 7.2.
Los siguientes pasos describen cómo instalar PHP 7.2 CentOS 7.
-
Primero habilite el repositorio PHP 7.2 Remi ejecutando el siguiente comando:
sudo yum-config-manager --enable remi-php72
-
Una vez que el repositorio esté habilitado, instale PHP 7.2 y algunos de los módulos PHP más comunes:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
Verifique la instalación de PHP:
php -v
PHP 7.2.9 (cli) (built: Aug 15 2018 09:19:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
Instalando PHP 7.1 en CentOS 7 #
Siga los pasos a continuación para instalar PHP 7.1.
-
Habilite el repositorio de PHP 7.1 escribiendo:
sudo yum-config-manager --enable remi-php71
-
Instale PHP 7.1 y algunos de los módulos PHP más comunes:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
-
Para verificar la instalación, ejecute el siguiente comando que imprimirá la versión de PHP:
php -v
PHP 7.1.21 (cli) (built: Aug 15 2018 17:56:55) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.21, Copyright (c) 1999-2018, by Zend Technologies
Configurando PHP 7.x para trabajar con Apache #
Si está utilizando Apache como su servidor web, simplemente reinicie el servicio Apache usando el siguiente comando y estará listo para comenzar:
sudo systemctl restart httpd
Configurar PHP 7.x para trabajar con Nginx #
A diferencia de Apache, Nginx no tiene soporte integrado para procesar archivos PHP, por lo que necesitamos instalar una aplicación separada como PHP FPM que manejará los archivos PHP.
Para instalar el paquete PHP FPM ejecute el siguiente comando:
sudo yum install php-fpm
Por defecto, PHP FPM se ejecutará como usuario apache
en el puerto 9000. Cambiaremos el usuario a nginx
y cambiar de socket TCP a socket Unix. Para ello, edite las líneas resaltadas en amarillo:
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
Asegúrese de que /var/lib/php
directorio tiene la propiedad correcta:
chown -R root:nginx /var/lib/php
Una vez que haya realizado los cambios, habilite e inicie el servicio PHP FPM:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
A continuación, edite la directiva de host virtual de Nginx y agregue el siguiente bloque de ubicación para que Nginx pueda procesar archivos PHP:
server {
# . . . other code
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Para que la nueva configuración surta efecto, reinicie el servicio Nginx:
sudo systemctl restart nginx