- 1 1. Introducción
- 2 2. Requisitos previos y preparación
- 3 3. Métodos de instalación de PHP
- 4 4. Verificación del funcionamiento de PHP
- 5 5. Instalación de módulos comunes de PHP
- 6 6. Gestión y cambio de versiones de PHP
- 7 7. Configuración con Apache o Nginx
- 8 8. Solución de problemas (Troubleshooting)
- 9 9. Resumen
- 10 10. Preguntas frecuentes (FAQ)
- 10.1 Q1. ¿Cómo instalo la última versión de PHP en Ubuntu?
- 10.2 Q2. ¿Cómo cambiar la versión de PHP en CLI?
- 10.3 Q3. Apache muestra el código PHP en vez de ejecutarlo.
- 10.4 Q4. ¿Dónde está el archivo php.ini?
- 10.5 Q5. ¿Cómo habilitar módulos de PHP?
- 10.6 Q6. Nginx no ejecuta PHP correctamente, ¿qué debo revisar?
- 10.7 Q7. Los errores de PHP no se muestran en pantalla.
1. Introducción
¿Por qué usar PHP en Ubuntu?
PHP es un lenguaje de scripting del lado del servidor utilizado en muchas aplicaciones web, incluyendo WordPress. Ha sido ampliamente usado durante muchos años en el desarrollo web, y gran parte de los CMS y frameworks están construidos en PHP.
Ubuntu es una distribución de Linux altamente estable, utilizada por desarrolladores en todo el mundo y muy adecuada para entornos de servidor. La combinación de Ubuntu y PHP se aprovecha ampliamente, desde proyectos personales hasta entornos de producción empresariales.
Audiencia y objetivos de este artículo
Este artículo está dirigido tanto a principiantes que desean “instalar PHP en Ubuntu pero no saben por dónde empezar”, como a usuarios intermedios que buscan instalar una versión específica de PHP. El objetivo es explicar los pasos de la manera más clara posible.
Se asume que se utiliza Ubuntu 22.04 LTS, pero los pasos básicos son en general aplicables a otras versiones.
Qué aprenderás en este artículo
Al leer este artículo, podrás comprender y poner en práctica lo siguiente:
- Método básico para instalar PHP en Ubuntu
- Cómo instalar y cambiar entre múltiples versiones de PHP
- Cómo verificar el funcionamiento de PHP y resolver problemas
- Configuración con Apache o Nginx
- Instalación de módulos de PHP más utilizados
2. Requisitos previos y preparación
Cómo verificar la versión de Ubuntu
Lo primero es comprobar la versión de Ubuntu que estás utilizando. El método de instalación de PHP y los módulos disponibles pueden variar ligeramente según la versión.
Ejecuta el siguiente comando para verificar la versión de Ubuntu:
lsb_release -a
También puedes usar este comando:
cat /etc/os-release
Este artículo se basa en Ubuntu 22.04 LTS, pero los pasos también son válidos para 20.04 o 23.10.
Mantener el sistema actualizado
Antes de instalar PHP, es importante actualizar los paquetes del sistema a la versión más reciente. Esto evita dependencias obsoletas o incompatibilidades. Ejecuta lo siguiente:
sudo apt update
sudo apt upgrade -y
Esto actualiza el índice del gestor de paquetes APT y permite instalar los paquetes en su versión más reciente.
Instalar utilidades necesarias
Para instalar ciertas versiones de PHP puede ser necesario añadir repositorios adicionales. Para ello se requiere el paquete “software-properties-common”. Si no está instalado, ejecútalo con:
sudo apt install -y software-properties-common
Este paquete permite usar comandos como add-apt-repository
. Es especialmente útil al usar PPA (Personal Package Archive) para instalar versiones específicas de PHP.
Uso de permisos root o sudo
Muchas de las operaciones descritas requieren permisos de superusuario. Por ello deberás anteponer sudo
a los comandos. Si no estás familiarizado, revisa el uso básico de este comando antes de continuar.
3. Métodos de instalación de PHP
En Ubuntu hay dos métodos principales para instalar PHP: desde el repositorio estándar o mediante un PPA (Personal Package Archive) para seleccionar la versión deseada. A continuación se explican ambos.
Instalar PHP desde el repositorio estándar
El repositorio oficial de Ubuntu incluye versiones estables de PHP. Si no necesitas una versión específica, puedes instalarlo con:
sudo apt install -y php
Después de la instalación, verifica con:
php -v
Ejemplo:
PHP 8.1.2 (cli) (built: ...)
En Ubuntu 22.04, la versión estándar es PHP 8.1.
Instalar una versión específica usando un PPA
Si quieres usar la última versión o gestionar múltiples versiones, puedes añadir el PPA ondrej/php.
Paso 1: Añadir el repositorio PPA
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Este repositorio es ampliamente utilizado en la comunidad Ubuntu y ofrece versiones actualizadas y estables de PHP.
Paso 2: Instalar la versión deseada
Ejemplo, para instalar PHP 8.2:
sudo apt install -y php8.2
De manera similar puedes instalar PHP 7.4, 8.0, etc.
Paso 3: Verificar la versión
php -v
Si la instalación fue exitosa, verás la información de la versión.
4. Verificación del funcionamiento de PHP
Una vez instalado PHP, es importante comprobar que funciona correctamente. En Ubuntu se puede verificar tanto desde la línea de comandos (CLI) como a través de un servidor web (Apache o Nginx). A continuación se explican ambos métodos.
Verificación desde la línea de comandos (CLI)
En primer lugar, muestra la versión de PHP en la terminal:
php -v
Si aparece la versión instalada y la información de compilación, significa que PHP funciona correctamente en CLI.
Ejemplo de salida:
PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
Verificación a través de un servidor web (Apache)
Si usas Apache, puedes confirmar la integración con PHP creando una página de prueba con la función phpinfo()
.
1. Crear archivo de prueba
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
2. Acceder con el navegador
http://localhost/info.php
3. Confirmar la información
Si se muestra la información detallada de PHP, significa que funciona correctamente con Apache.
🔍 Nota: Dado que
phpinfo()
muestra información sensible, elimina el archivo después de comprobarlo.
sudo rm /var/www/html/info.php
Verificación con Nginx + PHP-FPM
Con Nginx, PHP se procesa mediante php-fpm
. Debes asegurarte de que los archivos .php
estén configurados correctamente en el archivo de configuración de Nginx.
Si la configuración es incorrecta, puede mostrarse un error 500 o una descarga del archivo. En ese caso, revisa las directivas fastcgi_pass
e include fastcgi-php.conf;
.
5. Instalación de módulos comunes de PHP
El núcleo de PHP no incluye todas las funciones. Muchas se proporcionan como módulos (extensiones) que se instalan según la necesidad. A continuación se describen los módulos más usados.
¿Qué son los módulos de PHP?
Los módulos permiten funciones adicionales como conexión a bases de datos, soporte de caracteres multibyte, procesamiento de imágenes, XML y más.
En Ubuntu se instalan con APT, por ejemplo:
sudo apt install php-nombre-del-módulo
Si deseas una versión específica:
sudo apt install php8.2-mbstring

Principales módulos de PHP y su uso
php-mbstring (soporte multibyte)
Necesario para trabajar con caracteres multibyte como el japonés. Es casi imprescindible en sitios multilingües o aplicaciones de correo.
sudo apt install php-mbstring
php-mysql (conexión MySQL/MariaDB)
Permite integrar PHP con bases de datos MySQL o MariaDB. Es obligatorio en aplicaciones como WordPress.
sudo apt install php-mysql
php-gd (procesamiento de imágenes)
Se usa para generar, convertir o redimensionar imágenes. Útil para miniaturas o capturas.
sudo apt install php-gd
php-xml (procesamiento XML)
Necesario para manejar datos en XML, RSS o SOAP. Usado en CMS y APIs.
sudo apt install php-xml
php-curl (comunicación HTTP)
Permite enviar solicitudes HTTP desde el servidor, por ejemplo, al interactuar con APIs externas.
sudo apt install php-curl
php-zip (archivos comprimidos)
Soporta la compresión y descompresión de archivos ZIP.
sudo apt install php-zip
Habilitar módulos y reiniciar
Algunos módulos requieren habilitación explícita después de instalarlos:
sudo phpenmod nombre-del-módulo
sudo systemctl restart apache2
6. Gestión y cambio de versiones de PHP
En Ubuntu puedes instalar múltiples versiones de PHP en un mismo servidor y alternar entre ellas. Esto es útil en entornos de desarrollo o cuando se alojan múltiples aplicaciones.
Cambiar versión en CLI
Comando: update-alternatives
Este comando permite seleccionar la versión predeterminada en la terminal.
Paso 1: Verificar versiones instaladas
ls /usr/bin/php*
Paso 2: Registrar versiones en update-alternatives (solo la primera vez)
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82
Paso 3: Seleccionar versión
sudo update-alternatives --config php
Aparecerá una lista de versiones disponibles, elige la deseada.
Paso 4: Verificar versión activa
php -v
Cambiar versión en Apache
Apache permite habilitar o deshabilitar módulos PHP según la versión que quieras usar.
1. Listar módulos disponibles
ls /etc/apache2/mods-available | grep php
2. Deshabilitar el módulo actual
sudo a2dismod php7.4
3. Habilitar el módulo deseado
sudo a2enmod php8.2
4. Reiniciar Apache
sudo systemctl restart apache2
De esta forma se aplica tanto en CLI como en la ejecución a través de Apache.
7. Configuración con Apache o Nginx
PHP no solo funciona de forma independiente, sino que se integra con servidores web para construir aplicaciones completas. En Ubuntu se usan principalmente Apache o Nginx. A continuación se explican ambos casos.
Configuración con Apache (mod_php)
Apache puede ejecutar scripts PHP directamente usando el módulo mod_php
. Es un método sencillo, ideal para poner en marcha CMS como WordPress.
Paso 1: Instalar Apache y mod_php
sudo apt install -y apache2 libapache2-mod-php
Paso 2: Reiniciar Apache
sudo systemctl restart apache2
Paso 3: Probar con archivo PHP
Crea test.php
en /var/www/html
con el siguiente contenido:
<?php
phpinfo();
?>
Accede en el navegador:
http://localhost/test.php
Configuración con Nginx (PHP-FPM)
Nginx es un servidor ligero y rápido, pero requiere PHP-FPM (FastCGI Process Manager) para procesar PHP.
Paso 1: Instalar Nginx y PHP-FPM
sudo apt install -y nginx php-fpm
Paso 2: Editar la configuración de Nginx
sudo nano /etc/nginx/sites-available/default
Asegúrate de incluir un bloque como este:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Paso 3: Reiniciar Nginx
sudo systemctl restart nginx
Paso 4: Probar con archivo PHP
Crea /var/www/html/test.php
y verifica que muestre información de PHP.
Nota: Configuración del firewall
Si usas UFW (Uncomplicated Firewall), habilita el acceso web con:
sudo ufw allow 'Apache Full'
# o
sudo ufw allow 'Nginx Full'
Apache destaca por su facilidad, mientras que Nginx ofrece mejor rendimiento. Elige según tus necesidades.
8. Solución de problemas (Troubleshooting)
PHP no funciona (el navegador muestra el código fuente)
Causa
El servidor web no está procesando PHP y lo muestra como texto. Suele deberse a que el módulo no está activo o a una mala configuración.
Solución
- Apache: verifica que
libapache2-mod-php
esté instalado y activo, y reinicia.
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
- Nginx: confirma que
php-fpm
está instalado y quefastcgi_pass
apunta al socket correcto.
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx
Ciertas funciones no funcionan (función indefinida)
Causa
Faltan módulos de PHP.
Solución
sudo apt install php-mbstring php-xml php-curl
sudo systemctl restart apache2 # o nginx
Los errores de PHP no aparecen en pantalla
Causa
En la configuración por defecto, los errores suelen estar desactivados.
Solución
Edita php.ini
:
sudo nano /etc/php/8.2/apache2/php.ini
Modifica estas líneas:
display_errors = On
error_reporting = E_ALL
Reinicia el servidor web:
sudo systemctl restart apache2
Ver logs de errores
- Apache:
/var/log/apache2/error.log
- Nginx:
/var/log/nginx/error.log
- PHP-FPM:
/var/log/php8.2-fpm.log
sudo tail -f /var/log/apache2/error.log
El flujo recomendado es: ver logs → revisar configuración → reiniciar servidor.
9. Resumen
En este artículo vimos cómo instalar y configurar PHP en Ubuntu, desde lo básico hasta configuraciones avanzadas.
Puntos clave
- Verificar versión de Ubuntu y preparar sistema con actualizaciones.
- Dos métodos de instalación: repositorio estándar o PPA.
- Verificación tras la instalación: con
php -v
yphpinfo()
. - Módulos: instálalos según necesidad (ej.
php-mysql
,php-mbstring
). - Cambio de versiones: usando
update-alternatives
o módulos de Apache. - Integración con Apache/Nginx: configuración correcta es clave.
- En caso de problemas: revisar logs siempre ayuda.
Próximos pasos recomendados
- Instalar MySQL/MariaDB y conectar con PHP
- Configurar WordPress
- Probar frameworks como Laravel
- Configurar HTTPS con Let’s Encrypt
- Automatizar procesos con systemd
La combinación Ubuntu + PHP ofrece un entorno robusto y flexible. Aprovecha este punto de partida para desarrollar servicios y aplicaciones web más avanzadas.
10. Preguntas frecuentes (FAQ)
Q1. ¿Cómo instalo la última versión de PHP en Ubuntu?
A1. Los repositorios estándar no siempre incluyen la versión más reciente. Agrega el PPA ondrej/php
e instala la versión deseada:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2
Q2. ¿Cómo cambiar la versión de PHP en CLI?
A2. Usa update-alternatives
y selecciona la versión:
sudo update-alternatives --config php
Q3. Apache muestra el código PHP en vez de ejecutarlo.
A3. Asegúrate de que libapache2-mod-php
esté instalado y habilitado:
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
Q4. ¿Dónde está el archivo php.ini?
A4.
- Apache:
/etc/php/8.2/apache2/php.ini
- CLI:
/etc/php/8.2/cli/php.ini
Q5. ¿Cómo habilitar módulos de PHP?
A5. Después de instalar, habilítalos con:
sudo phpenmod mbstring
sudo systemctl restart apache2
Q6. Nginx no ejecuta PHP correctamente, ¿qué debo revisar?
A6. Verifica que php-fpm
esté instalado y que la directiva fastcgi_pass
apunte al socket correcto:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Q7. Los errores de PHP no se muestran en pantalla.
A7. Edita php.ini
y activa:
display_errors = On
error_reporting = E_ALL
No olvides reiniciar el servidor web.
Con estas soluciones podrás manejar los problemas más comunes al usar PHP en Ubuntu.