En este artículo veremos cómo instalar y configurar PHP en Ubuntu 20.04 LTS Focal Fossa, de modo que podremos trabajar con la versión 7.4 para desarrollo de aplicaciones web desde nuestro servidor o VPS Ubuntu.
Contenido
Antes de instalar PHP en Ubuntu 20.04
Para poder completar esta guía de instalación de PHP en Ubuntu 20.04 LTS deberías cumplir los siguientes requisitos mínimos:
- Una máquina Ubuntu 20.04 Focal Fossa actualizada.
- Un servicio web (Apache o Nginx).
- Acceso a consola con un usuario con permisos de sudo.
- Conexión a Internet.
Si aún no dipones de servicio web, puedes consultar previamente nuestra guía de instalación de Apache en Ubuntu 20.04.
Cómo instalar PHP en Ubuntu 20.04
Vamos a instalar PHP en Ubuntu 20.04 LTS desde los repositorios de la distribución, por lo que previamente actualizaremos las listas de paquetes:
~$ sudo apt update
PHP para Apache
Si usas Apache como servicio web, el paquete que necesitas será libapache2-mod-php:
~$ sudo apt install -y libapache2-mod-php
PHP para Ngnix
Si usas Nginx, el paquete que necesitas es php-fpm:
~$ sudo apt install -y php-fpm
En este caso se instala PHP como servicio independiente, el servicio php7.4-fpm.service o php7.4-fpm, que queda iniciado y habilitado para su arranque automático junto a Ubuntu 20.04.
Será necesario configurar Nginx para conectar con el servicio PHP-FPM, editando su archivo de configuración:
~$ sudo nano /etc/nginx/sites-available/default
Buscamos esta sección:
... # pass PHP scripts to FastCGI server # #location ~ \.php$ { # include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): # fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; #} ...
Activamos el bloque location con la configuración adecuada, en este caso correspondiente al servicio PHP-FPM:
... # pass PHP scripts to FastCGI server # location ~ \.php$ { include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; } ...
Y recargamos la configuración de Nginx:
~$ sudo systemctl reload nginx
Otras dependencias
También se incluye PHP para consola, o PHP CLI, con el que podrás comprobar en cualquier momento la versión de PHP instalada en Ubuntu 20.04, usando el comando php -v
:
Cómo probar PHP en Ubuntu 20.04
Para probar PHP en Ubuntu 20.04 crearemos un pequeño archivo fácilmente accesible vía web:
~$ sudo nano /var/www/html/info.php
El contenido será únicamente la siguiente línea:
<?php phpinfo();
Desde un navegador accederemos utilizando la dirección IP o dominio del servidor Ubuntu 20.04, añadiendo la ruta /info.php.
Podremos examinar gran cantidad de información sobre la configuración de PHP en Ubuntu 20.04.
Cómo configurar PHP en Ubuntu 20.04
Para configurar PHP en Ubuntu 20.04 trabajaremos sobre el archivo php.ini.
Si usamos Apache, editaremos el siguiente archivo:
~$ sudo nano /etc/php/7.4/apache2/php.ini
Y si usamos Nginx o cualquier otro servicio web que utilice el servicio PHP, editaremos este otro archivo:
~$ sudo nano /etc/php/7.4/fpm/php.ini
Uno de los primeros ajustes que querremos hacer será establecer la zona horaria del servidor, a través de la directiva date.timezone:
... ;date.timezone = ...
Está desactivada por defecto, por lo que la activaremos eliminando el carácter ; al inicio de línea y le daremos el valor adecuado:
... date.timezone = Europe/Madrid ...
Si no conoces el valor adecuado para tu zona horaria, puedes consultarlo en la documentación de PHP.
Tratamiento de errores
La configuración por defecto del archivo php.ini corresponde a un entorno de producción, por lo que no se mostrarán errores en las páginas web realizadas con PHP. Sin embargo, si estamos configurando un entorno de desarrollo querremos obtener información visible sobre todos los errores que sucedan, para ayudar a su depuración. Para ello, buscaremos las siguientes directivas:
... error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT ... display_errors = Off ... display_startup_errors = Off ...
Y los cambiaremos por los siguientes valores:
... error_reporting = E_ALL ... display_errors = On ... display_startup_errors = On ...
Aplicar los cambios
Cada vez que hagamos cambios en el archivo php.ini, debemos recargar la configuración del servicio.
En el caso de Apache:
~$ sudo systemctl reload apache2
Y en el caso de Nginx y el resto de servidores que usan PHP-FPM:
~$ sudo systemctl reload php7.4-fpm
Configuración de PHP para consola (CLI)
La configuración de PHP para consola o CLI en Ubuntu 20.04 se encuentra diferenciada en otro archivo php.ini, ubicado en /etc/php/7.4/cli/php.ini. Esta configuración es independiente, así que habrá que realizar cambios similares, como la configuración de zona horaria, etc.
En el caso de PHP de consola basta guardar los cambios para que estén disponibles.
Conclusión
Ahora que sabes cómo instalar PHP en Ubuntu 20.04 LTS Focal Fossa ya puedes desarrollar o instalar aplicaciones web desarrolladas en este lenguaje, utilizando por fin PHP 7.4 incluido en los repositorios de la distribución.
Si tienes alguna duda o pregunta, sugerencias de mejoras del tutorial o notificaciones de errores, puedes dejar un comentario.
¡Apoya comoinstalar.me!
¿Ya dispones de este lenguaje gracias a esta guía de instalación y configuración de PHP en Ubuntu 20.04 Focal Fossa? En caso afirmativo tal vez quieras mostrar tu agradecimiento con una mínima aportación para el mantenimiento de este sitio y la creación de más tutoriales de Ubuntu 20.04 y PHP.
Puedes ayudarnos dejando 1 $ de propina con PayPal:
O, si te sientes especialmente generoso, puedes invitarnos a un café:
¡Gracias!
Hola, muchas gracias por la información brindada, tengo una pregunta. Me gustaría saber cómo hacer para que la versión de PHP instalada en Ubuntu 20.04 no se actualice al ejecutar el comando upgrade. Gracias de antemano.
Hola, Fernando. ¿Exactamente qué versión tienes instalada en este momento y a cuál no quieres que se actualice?
¡Hola! Una duda, ¿sabes si se puede instalar PHP 5.4.x en Ubuntu 20.04?
Hola, Barnett. Hasta donde sé, se puede instalar PHP 5.6 en Ubuntu 20.04 utilizando el repositorio alternativo de sury.org.
Funcionó a la primera. Gracias.
De nada, me alegro de que te sirviera.
Muchas gracias, todo funcionó.
Estupendo, José Miguel, me alegro de que te funcionara.
Saludos
Muchas gracias por el procedimiento, me funcionó perfectamente.
¡Estupendo!