En esta entrada aprenderemos cómo instalar PHP en CentOS 6 paso a paso, por si aún tienes que mantener algún servidor o VPS CentOS con esta versión y necesitas instalar aplicaciones web complejas que necesiten hasta la versión 7.3 del popular lenguaje de servidor.
Contenido
Antes de instalar PHP en CentOS 6
Si quieres seguir esta guía de instalación de PHP en CentOS 6 necesitarás partir de unos requerimientos básicos:
- Un sistema CentOS 6 actualizado.
- Servidor web.
- Acceso como root o usuario con permisos de sudo.
- Conexión a Internet.
En este tutorial usamos como servidor web Apache, si aún no lo tienes en tu sistema te puede interesar la guía de instalación de Apache en CentOS 6.
Cómo instalar PHP en CentOS 6
A la hora de instalar PHP en CentOS 6 debes tener en cuenta que la versión de PHP disponible en los repositorios de CentOS 6 es la 5.3.3, totalmente obsoleta y que no vas a querer usar, así que usaremos el repositorio Remi para CentOS 6.
En primer lugar instalamos el repositorio EPEL y las herramientas de yum:
~$ sudo yum install -y epel-release yum-utils
Instalamos el repositorio Remi:
~$ sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-6.rpm
Actualizamos las listas de paquetes:
~$ sudo yum update -y
El nuevo repositorio nos ofrece varias versiones de PHP, desde la 7.0 a la 7.3, por lo que debemos habilitar una de ellas. En este tutorial habilitaremos PHP 7.3:
~$ sudo yum-config-manager --enable remi-php73
Ahora podemos instalar PHP sin tener que indicar números de versión:
~$ sudo yum install -y php
Es necesario reiniciar el servidor web para que cargue el módulo de PHP:
~$ sudo service httpd restart
Comprobar PHP
Para ver la versión de PHP que hemos instalado en CentOS 6 podemos hacerlo directamente en consola:
~$ php -v PHP 7.3.13 (cli) (built: Dec 17 2019 16:10:55) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.13, Copyright (c) 1998-2018 Zend Technologies
Pero seguramente lo que quieres es ver PHP en acción a través de un navegador. Vamos a crear un pequeño script de prueba en PHP, ubicado en una ruta fácilmente accesible vía web:
~$ sudo nano /var/www/html/info.php
El contenido será esta única línea:
<?php phpinfo();
Guardados los cambios y cerrado el archivo, accederemos al servidor web usando la dirección IP o dominio de la máquina CentOS 6 y añadiendo la ruta /info.php. En este ejemplo la URL http://centos6.local/info.php sería válida:
Es importante eliminar el script de prueba si el sistema CentOS 6 está sirviendo páginas web en Internet, ya que usuarios maliciosos constantemente rastrean este tipo de páginas de prueba para obtener información sobre el servidor.
La función phpinfo() nos ofrece gran cantidad de información sobre PHP y su configuración.
Cómo configurar PHP en CentOS 6
Si quieres configurar PHP en CentOS 6 tienes que tener en cuenta que la configuración principal se encuentra en el archivo /etc/php.ini, aunque también encontrarás archivos separados encargados de configurar las extensiones de PHP que se encuentran en el directorio /etc/php.d/.
Vamos a configurar algún aspecto de PHP, por lo que editaremos el archivo php.ini:
~$ sudo nano /etc/php.ini
Empezaremos configurando la zona horaria de PHP, para lo que buscaremos la directiva date.timezone:
... [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone = ...
Descomentaremos la directiva y especificaremos el valor de la zona horaria que nos interese:
... date.timezone = Europe/Madrid ...
Si no sabes qué valor corresponde a tu zona horaria, puedes consultarlo en https://www.php.net/manual/es/timezones.php, tal y como se indica en los mismos comentarios de php.ini.
Para aplicar los cambios, una vez guardado y cerrado el archivo, es necesario recargar la configuración del servidor web:
~$ sudo service httpd reload
Podrás observar, si recargas la página de prueba, que el valor de date.timezone se ha actualizado:
Configuración de errores
Otro aspecto importante a la hora de configurar PHP es el comportamiento ante errores. Por defecto, PHP está configurado para un entorno de producción, lo que significa que no informará visiblemente de los errores que se produzcan, para evitar ofrecer información sensible. Sin embargo, en un entorno de desarrollo de aplicaciones web sí es importante que PHP informe de cualquier error o alerta en el mismo navegador en cuanto se produce, para ayudar a la depuración.
Para cambiar el comportamiento de PHP de producción a desarrollo, buscaremos las siguientes directivas y sustituiremos sus valores actuales por los especificados:
... error_reporting = E_ALL ... display_errors = On ... display_startup_errors = On ...
Habrás observado que en los comentarios de php.ini se muestra información sobre los valores de producción y desarrollo de cada directiva, por lo que revertir los cambios será sencillo.
No olvides recargar la configuración del servidor web para aplicar cualquier cambio en php.ini.
Instalar extensiones de PHP en CentOS 6
Existen cientos de extensiones para PHP capaz de dotarlo de potentes características. Instalar estas extensiones es sencillo, basta con conocer el nombre del paquete e instalarlo con yum. Por ejemplo, si quisieras instalar la extensión que te permita conectar a un servicio de bases de datos como MariaDB o MySQL, tendrías que instalar la extensión php-mysql:
~$ sudo yum install -y php-mysql
Algunas extensiones pueden requerir sus propios ajustes. A veces se realizan en el php.ini y otras veces disponen de su propio archivo de configuración .ini en la ruta /etc/php.d/.
En cualquier caso, tras instalar una extensión de PHP es necesario recargar la configuración del servidor web:
~$ sudo service httpd reload
Conclusión
Ya sabes cómo instalar y configurar PHP en CentOS 6 con la última versión disponible, por lo que las aplicaciones de tu viejo sevidor o VPS CentOS no tendrán nada que envidiar a las que están alojadas en versiones más recientes del sistema.
Si te ha surgido alguna duda, pregunta, sugerencia, etc. puedes dejar un comentario.
¡Apoya este sitio!
¿Ha servido a tus propósitos esta pequeña guía de instalación y configuración de PHP en CentOS 6? Si es así tal vez te gustaría agradecérnoslo con una mínima aportación al mantenimiento de este sitio y creación de más tutoriales sobre temas como CentOS 6 o PHP, ya sea dejando 1 $ de propina con PayPal:
O, si te sientes especialmente agradecido, invitándonos a un café:
¡Gracias!