Está en la página 1de 20

29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Cómo instalar...
Tutoriales que nos hacen la vida más fácil

Cómo instalar PHP en CentOS 7


8 enero, 2021 por El Instalador

En esta entrada aprenderemos cómo instalar PHP en CentOS 7 sobre una máquina
con el servidor web ya instalado. En una entrada anterior aprendimos a instalar
Apache en CentOS 7, por lo que la evolución lógica es dotar a nuestro servidor o VPS
CentOS de toda la potencia de la última versión de PHP.

Contenido [ocultar]

Antes de instalar PHP en CentOS 7


Cómo añadir soporte de PHP 7 y 8 para CentOS 7
Cómo instalar PHP en CentOS 7 
Comprobando la instalación de PHP
Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 1/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Configuración de PHP en CentOS 7


Zona horaria del servidor
Manejo de información sobre errores en PHP
Seguridad
Activando los cambios de configuración
Configuración de las extensiones de PHP en CentOS 7
Cómo instalar extensiones de PHP en CentOS 7
Conclusión

Antes de instalar PHP en CentOS 7


Para seguir esta guía de instalación de PHP en CentOS 7 no necesitas muchos
requisitos, pero al menos esto sí lo deberías tener preparado:


Un sistema CentOS 7 actualizado.



Servidor web.

Acceso al sistema como root o un usuario con privilegios de sudo.



Conexión a Internet.

También hay que saber que los repositorios oficiales de CentOS 7 sólo ofrecen hasta
la versión de PHP 5.4.16, que es una versión obsoleta e insegura.


Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 2/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Por ello tendremos que configurar repositorios externos que nos permitirán incluir
paquetes mucho más actualizados.

Cómo añadir soporte de PHP 7 y 8 para CentOS 7


Añadiremos el siguiente repositorio, que nos ofrecerá PHP 7 y 8 para CentOS 7 en sus
distintas versiones:

~$ sudo yum install -y http://rpms.remirepo.net/enterprise/remi-


release-7.rpm

Instalaremos además las herramientas de yum para poder configurar el nuevo


repositorio:

~$ sudo yum install -y yum-utils

Ahora configuramos el repositorio para especificar la versión de PHP 7 y 8 que nos


interesa. Disponemos de la 7.0, 7.1, 7.2, 7.3, 7.4, 8.0 y 8.1.

Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 3/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

En esta guía utilizaremos PHP 7.4, así que seleccionaremos esta versión con yum-
config-manager:

~$ sudo yum-config-manager --enable remi-php74

Si quieres instalar otra de las versiones de PHP 7 y 8, sólo tienes que cambiar el
último parámetro del comando por remi-php70, remi-php71, remi-php72, remi-php73,
remi-php80 ó remi-php81.

El último paso es actualizar la información de los repositorios con yum update:

~$ sudo yum update -y

Hecho esto, si disponías de una versión anterior de PHP, como la 5.4.16 oficial de
CentOS 7… ¡sorpresa, te has actualizado a PHP 7 u 8!

Pero sigue leyendo, porque seguramente necesitarás, además de reiniciar el servidor


web, revisar la configuración para evitar algún problema.

Cómo instalar PHP en CentOS 7


Independientemente de si has ampliado los repositorios del sistema o no, para
instalar PHP en CentOS 7 usaremos yum a través de consola.

Si no lo has hecho antes, actualiza la información de los repositorios:

~$ sudo yum update -y

A continuación instalamos el paquete php con sus respectivas dependencias:

~$ sudo yum -y install php

Con esto queda instalado PHP en CentOS 7; sin embargo, los cambios no tendrán
efecto en el servidor web hasta que lo reiniciemos. Usaremos el comando systemctl
para reiniciar el servidor:

~$ sudo systemctl restart httpd

Comprobando la instalación de PHP 


Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 4/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Para comprobar el correcto funcionamiento de PHP con el servidor web, crearemos


un pequeño ejemplo de archivo .php en alguna ruta accesible desde el navegador,
por ejemplo, /var/www/html/info.php:

~$ sudo nano /var/www/html/info.php

Con esta línea como contenido:

<?php phpinfo(); ?>

Para acceder a través del navegador a la pequeña página que acabamos de crear
bastará con añadir la ruta /info.php a la dirección IP, dominio, nombre DNS, etc. del
servidor.

Por ejemplo, la máquina CentOS 7 sobre la que hemos preparado este artículo es
accesible en el subdominio centos7.local.lan, por lo que podríamos usar
http://centos7.local.lan/info.php para acceder a la página de prueba de PHP.

Obtendremos toda la información sobre la instalación de PHP que hemos realizado,


desde la versión instalada hasta los módulos instalados:


Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 5/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Información que nos ofrece phpinfo() sobre la instalación de PHP 7 en CentOS 7

De igual manera podremos comprobar la versión y funcionamiento de PHP 8.0 para


CentOS 7:

Finalmente, si has decidido instalar PHP 8.1 en CentOS 7 también podrás


comprobar su funcionamiento:


Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 6/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Es muy recomendable echar un vistazo a la gran cantidad de información que nos


ofrece la función phpinfo() sobre la configuración por defecto de PHP en CentOS 7,
ya que podremos observar, entre otras cosas:

La versión de PHP instalada en el sistema.


La zona horaria con la que trabajarán las aplicaciones PHP.
PHP no desplegará información sobre los errores que se produzcan en los
scripts, útil si se trata de un entorno de producción, pero poco recomendable si
es un entorno de desarrollo.
La localización de los archivos de configuración de PHP.
Los módulos cargados y disponibles para nuestras aplicaciones.

Y mucha más información que, en un primer momento, quizás no sea necesaria, pero
cuando posteriormente se presente algún problema o necesitemos ajustar o
extender nuestra configuración de PHP sí que nos vendrá bien conocer.

Configuración de PHP en CentOS 7



Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 7/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Acabamos de ver, entre otras cosas, dónde está php.ini en CentOS 7, que es el
archivo fundamental para configurar PHP. Su ubicación por defecto es /etc/php.ini y
ese es el archivo que tenemos que editar para modificar ciertos comportamientos de
PHP en nuestras aplicaciones.

Con nuestro editor favorito (aquí cada uno que elija el que más le guste) y privilegios
de root, modificaremos php.ini:

~$ sudo nano /etc/php.ini

Zona horaria del servidor


Por ejemplo, sería útil definir la zona horaria con la que debería trabajar PHP. Como
podremos ver, una vez que estemos en el editor, no se establece ninguna zona
horaria, ya que la cláusula date.timezone aparece sin ningún valor asignado y
desactivada mediante comentarios:

...
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
...

Para configurar la zona horaria de nuestro interés, desactivaremos el comentario


borrando el punto y coma y especificaremos el valor del huso horario:

...
date.timezone = Europe/Madrid
...

En mi caso el valor es Europe/Madrid. Si no sabes qué valor correspondería a tu zona,


fíjate en que los propios comentarios te indican dónde puedes encontrar información
al respecto. Visita http://php.net/manual/es/timezones.php para encontrar el valor de
tu zona horaria.

Manejo de información sobre errores en PHP


También hemos visto que la instalación de PHP en CentOS 7 es muy sigilosa en
cuanto a información de errores que se puedan producir en las aplicaciones web. Es

Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 8/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

el comportamiento que cabe esperar en una distribución lista prácticamente para


poner en producción.

Hagamos la prueba creando un pequeño script, que llamaré error.php, situado en


alguna ubicación accesible desde el navegador, por ejemplo en
/var/www/html/error.php:

<?php echo 'hola, mundo; ?>

Obviamente, al faltar la comilla final del texto del mensaje, no va a funcionar.


Observemos qué ocurre cuando abrimos esta página en el navegador:


Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 9/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Error de la aplicación PHP: HTTP ERROR 500

Según el navegador que estemos usando podremos observar desde una desoladora
pantalla completamente en blanco o, como en este caso, un escueto mensaje del
navegador, informándonos de que el servidor web devuelve un error 500 (error de la
aplicación). Pero sólo eso.

Si estamos trabajando en un entorno local o de desarrollo sí querremos que PHP nos


ofrezca la mayor información posible sobre estos errores. Para ello, modificaremos
ese comportamiento modificando algunas líneas más en /etc/php.ini. Los valores por
defecto (los de producción) son los siguientes:

...
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
...
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
display_errors = Off
...
; Default Value: Off
; Development Value: On
; Production Value: Off
; http://php.net/display-startup-errors
display_startup_errors = Off
...

Te habrás fijado en que los propios comentarios nos dan información sobre los
valores de producción (Production) y desarrollo (Development) para cada cláusula, y
que los valores asignados por defecto corresponden con los de producción.

Hacemos los cambios con los valores recomendados para desarrollo y nos quedará
algo así:

...
error_reporting = E_ALL 
...
Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 10/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

display_errors = On
...
display_startup_errors = On
...

Una vez hechos y revisados los cambios, recargamos la configuración del servidor
web para que aplique los nuevos ajustes.

~$ sudo systemctl reload httpd

Y recargamos la misma página de prueba:


Privacidad - Términos

Mensajes de error de PHP en una configuración de desarrollo


https://comoinstalar.me/como-instalar-php-en-centos-7/ 11/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Ahora sí que tenemos mensajes informativos ofrecidos directamente por PHP, que
nos orienta de forma aproximada sobre dónde se encuentra el error y de qué se
puede tratar.

Ya sólo tienes que elegir si la configuración de tu servidor CentOS 7 es de desarrollo o


de producción.

Seguridad
Si la seguridad es importante para el servidor CentOS 7 en el que has instalado PHP,
localiza en php.ini la directiva expose_php:

...
expose_php = On
...

Si está activada un visitante podría conocer la versión exacta de PHP, por lo que
podría intentar explotar alguna vulnerabilidad conocida. Es interesante desactivar
esta característica:

...
expose_php = Off
...

Activando los cambios de configuración


Recuerda que cualquier cambio en la configuración de PHP a través de php.ini no
entra en vigor hasta que recargas la configuración del servidor web.

Al terminar de editar la configuración no olvides lanzar el siguiente comando:

~$ sudo systemctl reload httpd

Configuración de las extensiones de PHP en CentOS 7


PHP por defecto incluye activadas varias extensiones adicionales. Algunas de estas
extensiones pueden configurarse individualmente desde el propio /etc/php.ini, en
secciones dedicadas a tal fin. Pero otras extensiones, presentes o que se añadan más
tarde, pueden tener sus propios archivos individuales de configuración.

Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 12/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Los archivos de configuración de las extensiones de PHP se encuentran en


/etc/php.d/, dato que también nos ofrece la función phpinfo().

Si necesitas ajustar la configuración de alguna extensión concreta, comprueba si


existe un archivo .ini en /etc/php.d/ o una sección dentro de /etc/php.ini.

La instalación por defecto de PHP en CentOS 7 incluye estos archivos de


configuración para extensiones:

~$ ls /etc/php.d/
curl.ini fileinfo.ini json.ini phar.ini zip.ini

Cómo instalar extensiones de PHP en CentOS 7


Aparte de las extensiones de PHP que vienen incluidas en la instalación básica, los
repositorios de CentOS 7 incluyen muchas más.

Mediante yum podemos buscar e instalar extensiones adicionales y extender las


capacidades de nuestras aplicaciones.

Por ejemplo, si estás siguiendo esta serie de tutoriales, en una entrada anterior
dediqué un tutorial a cómo instalar MariaDB en CentOS 7. Si tienes instalado un
servidor de bases de datos como MariaDB o MySQL entonces querrás poder usarlos
con tus aplicaciones web.

Si no sabes cómo se llama exactamente el paquete que estás buscando, prueba a


buscar con yum filtrando con grep.

Por ejemplo, podemos buscar la extensión de PHP para MySQL. Especificando la


versión concreta de PHP reduciremos resultados:

~$ yum search php74 |grep -i mysql


php74-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL
php74-php-pecl-mysql.x86_64 : MySQL database access functions
php74-php-pecl-mysql-xdevapi.x86_64 : MySQL database access functions
php74-php-pecl-mysqlnd-azure.x86_64 : Redirection plugin for mysqlnd

O podemos probar suerte con los metapaquetes (los que no llevan número de
versión): 
Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 13/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

~$ yum search php |grep -i ^php- |grep -i mysql


php-mysql.x86_64 : A module for PHP applications that use MySQL
databases
php-mysqlnd.x86_64 : A module for PHP applications that use MySQL
databases
php-ZendFramework-Db-Adapter-Mysqli.noarch : Zend Framework database
adapter for
php-ZendFramework-Db-Adapter-Pdo-Mysql.noarch : Zend Framework database
adapter
php-pear-MDB2-Driver-mysql.noarch : MySQL MDB2 driver
php-pear-MDB2-Driver-mysqli.noarch : MySQL Improved MDB2 driver
php-pecl-mysql.x86_64 : MySQL database access functions
php-pecl-mysql-xdevapi.x86_64 : MySQL database access functions
php-pecl-mysqlnd-azure.x86_64 : Redirection plugin for mysqlnd
php-pecl-mysqlnd-ms.x86_64 : A replication and load balancing plugin
for mysqlnd
php-pecl-mysqlnd-ms-devel.x86_64 : Mysqlnd_ms developer files (header)
php-pecl-mysqlnd-qc.x86_64 : A query cache plugin for mysqlnd
php-pecl-mysqlnd-qc-devel.x86_64 : Mysqlnd_qc developer files (header)

La búsqueda nos arroja varios paquetes, normalmente el metapaquete php-mysql


suele apuntar al paquete que corresponde a la versión de PHP que tenemos
instalada. En caso de dudas, yum info te dará más información. Elige el paquete que
te interese e instálalo:

~$ sudo yum install -y php-mysql

Y tendremos instalada esta extensión con sus correspondientes dependencias. Pero


la extensión no funcionará hasta recargar la configuración del servidor web (ya sabes,
con systemctl reload).

Enlazando con el apartado anterior, el módulo PHP de MySQL que acabamos de


instalar tiene su propio archivo de configuración en /etc/php.d/, por si tuvieras que
ajustar algún parámetro.

Conclusión
Ahora que sabes cómo instalar PHP en CentOS 7 en su versión más reciente, habrás
comprobado lo sencillo que es, como prácticamente en todas las distribuciones de
Linux con gestor de paquetes de software. Pero aparte de la pura instalación interesa
conocer lo básico de la configuración de PHP, que es donde la mayoría de tutoriales
no entran.
Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 14/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Con lo que has visto aquí y las anteriores entradas sobre CentOS ya deberías tener un
servidor LAMP completamente funcional listo para desarrollar y desplegar
aplicaciones web.

Si tienes cualquier duda, sugerencia, pregunta o advertencia sobre errores o erratas,


déjame un comentario. Y lo mismo si te gustan este tipo de tutoriales y quieres que
haga más.

¡APOYA COMOINSTALAR.ME!

Si esta entrada ha conseguido ahorrarte tiempo en la instalación de PHP 7 y 8 en


CentOS 7, quizás quieras contribuir al mantenimiento de este sitio (y a la adquisición
de un nuevo ventilador para la oficina, este verano es demasiado caluroso). Si es así
puedes hacerlo dejando 1 $ de propina desde PayPal:

O, si te sientes especialmene agradecido, puedes invitarnos a un café:

¡Invítame a un café!

¡Gracias!

NOTA: Este es el ventilador que tenemos pensado para la oficina, ¿qué opinas?:

177 Opiniones

TECHBREY Ventilador de Techo con Luz y Mando a Distancia Navy


Niquel 110cm Motor AC, Color Aspas Reversibles Madera y Níquel

87,95 EUR
Ver más detalles


VALORA ESTA ENTRADA
Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 15/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

5/5 - (5 votos)

 CentOS
 Apache, CentOS, CentOS 7, Linux, PHP
 Cómo instalar MariaDB en CentOS 7
 Cómo instalar WordPress en CentOS 7

4 comentarios en «Cómo instalar PHP en CentOS 7»

El Instalador
14 marzo, 2022 a las 10:13 pm

Actualizado a la versión 8.1.3.

Responder

carlos
27 diciembre, 2019 a las 8:44 pm

Hola, ¿me podrías decir por qué no me ejecuta los archivos .php sino que los
intenta guardar?
Un saludo

Responder


Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 16/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

El Instalador
28 diciembre, 2019 a las 12:38 am

El problema que tienes es que el servidor web no reconoce los arhivos .php
como scripts de PHP. Debes instalar la versión que necesites de PHP y
después reiniciar el servidor web.

¿Qué versión de CentOS, servidor web y PHP estás usando?

Responder

Luis Feo
5 junio, 2019 a las 8:42 pm

Hola. Interesante post. Tengo una duda. Tengo instalada la version php 72 del
repositorio webtatic, pero hasta la fecha no existe una versión para php 7.3.
Veo que remi si la tiene. Hay manera de instalar el php de remi y eliminar el
7.2 de webtatic?. saludos desde Venezuela.

Responder

Deja un comentario


Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 17/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Nombre *

Correo electrónico *

Publicar comentario

Búsqueda

Buscar...

Contribuye con este sitio


¿Quieres ayudarnos a mantener este sitio? Con 1 $ desde PayPal contribuyes a la
creación de nuevos contenidos, ¡gracias!

¡Dominios desde 0,99 $!


Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 18/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

¡Prueba el servicio VPS de comoinstalar.me!


Hasta 100 $ de crédito para gastar en 2 meses con Digital Ocean y comoinstalar.me

en tu VPS

Apóyame con Ko-fi


¿Te gusta este contenido? ¿Te resulta útil?

¡Invítame a un café!

Donate

Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 19/20
29/11/22, 12:31 ▷ Cómo instalar PHP en CentOS 7 ✔️[2022] PASO A PASO

Donate with
Bitcoin

Donate with
Ethereum

Donate with
Litecoin

Donate with
Dogecoin

Donate with
Monero

Donate with
Dai

Donate Via Wallets

Aviso legal Política de privacidad Política de cookies

© 2022 Cómo instalar...


Privacidad - Términos

https://comoinstalar.me/como-instalar-php-en-centos-7/ 20/20

También podría gustarte