Instalación de PHP 8.2

 

🐘 Instalación de PHP 8.2 en Xubuntu 24.04 con Apache2 para Laravel y Symfony

En este artículo te comparto el proceso completo y documentado de cómo instalé PHP 8.2 en Xubuntu 24.04, con Apache2, listo para desarrollar con Laravel y Symfony. Además, explico dónde se instala PHP, qué módulos usé y por qué.

📦 1. Requisitos previos

Ya tenía instalado Apache2, así que empecé por agregar los repositorios actualizados y confiables para obtener versiones más recientes de PHP.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/apache2
sudo apt update

El PPA de Ondrej Sury es uno de los más utilizados y confiables para PHP en Ubuntu. 

🧩 2. Instalación completa de PHP 8.2 y sus módulos necesarios

Una sola línea para instalar todo lo que necesitás para trabajar con Symfony y Laravel:

sudo apt install php8.2 libapache2-mod-php8.2 php8.2-cli php8.2-common php8.2-mysql php8.2-pgsql php8.2-sqlite3 php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip php8.2-gd php8.2-bcmath php8.2-intl php8.2-readline php8.2-xdebug php8.2-imap php8.2-soap php8.2-tokenizer unzip curl composer

📘 ¿Qué hace cada paquete?

📦 Paquete🧠 ¿Para qué sirve?🧱 Usado por
php8.2Núcleo del lenguaje PHP 8.2Todo proyecto PHP
libapache2-mod-php8.2Permite que Apache ejecute .phpApache
php8.2-cliPHP desde la terminal (línea de comandos)Composer, Laravel (artisan), Symfony (console)
php8.2-commonArchivos comunes para extensiones PHPBase para todo
php8.2-mysqlConexión con bases de datos MySQL/MariaDBLaravel, Symfony
php8.2-pgsqlConexión con bases de datos PostgreSQLSymfony, Laravel (opcional)
php8.2-sqlite3Soporte para SQLiteLaravel y Symfony (útil para testing rápido)
php8.2-xmlSoporte XML, DOM, etc.Symfony, Composer
php8.2-mbstringSoporte para UTF-8 y cadenas multibyteLaravel, Symfony
php8.2-curlAcceso HTTP a APIs, servicios externosLaravel, Symfony, Composer
php8.2-zipSoporte para archivos .zipComposer, Laravel Mix
php8.2-gdManipulación de imágenes (resize, crop, etc)Laravel, bibliotecas de imágenes
php8.2-bcmathCálculos precisos de punto flotanteLaravel (pagos, colas, etc)
php8.2-intlLocalización, traducción, fechas, númerosSymfony, Laravel (multi-idioma)
php8.2-readlineMejora del uso interactivo en CLILaravel Artisan, Symfony Console
unzipDescomprimir archivos ZIPComposer, instaladores
curlHerramienta de línea de comandos para HTTPComposer, Symfony installer
composerGestor de dependencias de PHPLaravel, Symfony, paquetes

🎁 BONUS: Extras que podrías instalar luego (opcional)

  • php8.2-xdebug → para depurar código PHP.

  • php8.2-imap → si trabajás con correo electrónico.

  • php8.2-soap → para consumir APIs SOAP.

  • php8.2-tokenizer → requerido por Laravel internamente (a veces incluido en common).

 

📂 3. ¿Dónde se instala todo esto?

Linux organiza bien sus archivos. Acá te muestro dónde van las cosas cuando instalás PHP desde APT:

ElementoRuta
Ejecutables (php, php8.2, etc.)/usr/bin/
Configuración para Apache/etc/php/8.2/apache2/php.ini
Config. global de PHP (cli)/etc/php/8.2/cli/php.ini
Módulos habilitados/etc/php/8.2/mods-available/
Módulos cargados/etc/php/8.2/apache2/conf.d/ (symlinks)
Archivos PHP compartidos/usr/share/php/  
Documentación de paquetes/usr/share/doc/php*     
       

Document root de Apache/var/www/html/

📁 4. Entendiendo permisos y enlaces

Al explorar /usr/bin/ encontré muchos comandos que en realidad son enlaces simbólicos (symlinks), como:

php -> /etc/alternatives/php

Esto permite cambiar fácilmente la versión de PHP activa. Usando readlink -f /usr/bin/php podés ver a dónde apunta realmente.

También repasamos cómo se leen los permisos de archivos y directorios, como por ejemplo:

-rwxr-xr-x 1 root root ...
 

  • rwx (usuario) → puede leer, escribir y ejecutar

  • r-x (grupo) → puede leer y ejecutar

  • r-x (otros) → puede leer y ejecutar

  • 1 → número de enlaces al archivo (como en los hard links)

📦 5. ¿Qué tengo instalado ahora?

Para ver qué tenés instalado de PHP:

dpkg -l | grep php8.2

✅ Conclusión

Ya tengo listo mi entorno de desarrollo para trabajar con Laravel y Symfony sobre PHP 8.2 y Apache2, todo correctamente organizado y compatible. En el próximo post, probablemente documente la instalación de MariaDB o MySQL, y la creación de un proyecto Symfony paso a paso.


























 

Comentarios

Entradas populares de este blog

Terminal Caliente

phpMyAdmin