# Guía completa de las extensiones de PHP 8.4, qué hace cada paquete y cuáles necesitas realmente

- Link: https://binariocero.com/php/guia-completa-de-las-extensiones-de-php-8-4-que-hace-cada-paquete-y-cuales-necesitas-realmente
- Published: 2026-09-16T20:09:49+02:00
- Author: Binario 0

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

Cuando se instala PHP en un servidor Debian o Ubuntu, el gestor de paquetes ofrece
una lista enorme de extensiones bajo el prefijo `php8.4-*`. Para quien administra
sistemas por primera vez —o incluso para administradores experimentados que se enfrentan
a un `apt list` interminable— puede resultar abrumador saber qué hace cada una y,
sobre todo, cuáles instalar de verdad.

Este artículo repasa las extensiones más habituales de PHP 8.4, agrupadas por función,
y cierra con una serie de recomendaciones prácticas sobre qué combinaciones evitar.

## El núcleo: lo que hace funcionar a PHP

Antes de hablar de extras, conviene distinguir los paquetes que forman la base de
cualquier instalación:

 * **`php8.4-cli`**: el intérprete de PHP para línea de comandos, imprescindible
   para scripts y tareas programadas (cron).
 * **`php8.4-fpm`**: el FastCGI Process Manager, la forma estándar de servir PHP
   junto a Nginx o Apache.
 * **`php8.4-cgi`**: el binario CGI clásico, hoy menos usado que FPM pero aún presente
   en algunos entornos.
 * **`php8.4-common`**: ficheros y módulos compartidos por todos los SAPI (CLI, 
   FPM, CGI).
 * **`php8.4-dev`**: cabeceras y herramientas de compilación (`phpize`), necesarias
   solo si se van a compilar extensiones desde código fuente.
 * **`php8.4-phpdbg`**: un depurador interactivo integrado, distinto de Xdebug.

## Conectividad con bases de datos

PHP soporta prácticamente cualquier motor de base de datos mediante extensiones 
dedicadas:

 * **`php8.4-mysql`**: cliente para MySQL y MariaDB, el más usado con diferencia.
 * **`php8.4-pgsql`**: cliente para PostgreSQL.
 * **`php8.4-sqlite3`**: cliente para bases de datos SQLite embebidas.
 * **`php8.4-odbc`**: acceso genérico a bases de datos vía ODBC.
 * **`php8.4-sybase`** e **`php8.4-interbase`**: drivers para Sybase/MS SQL y Firebird/
   InterBase, hoy de uso muy residual.
 * **`php8.4-pq`**: binding alternativo a libpq para PostgreSQL, con soporte asíncrono.
 * **`php8.4-mongodb`**: driver oficial para MongoDB.
 * **`php8.4-solr`**: cliente para Apache Solr, el motor de búsqueda.

## Caché y almacenamiento en memoria

Este grupo es clave para el rendimiento de cualquier aplicación con tráfico real:

 * **`php8.4-opcache`**: cachea el bytecode compilado de PHP para evitar recompilar
   en cada petición. Prácticamente obligatoria en producción.
 * **`php8.4-apcu`**: caché de datos de usuario en memoria compartida.
 * **`php8.4-redis`**: cliente para Redis, usado tanto para caché como para colas
   y sesiones.
 * **`php8.4-memcache`** y **`php8.4-memcached`**: dos implementaciones distintas
   e independientes del cliente de Memcached.
 * **`php8.4-igbinary`**: un serializador binario más rápido y compacto que el nativo,
   usado a menudo junto a Redis o Memcached.
 * **`php8.4-msgpack`**: serialización en formato MessagePack.
 * **`php8.4-yac`**: otra caché de usuario en memoria compartida, menos común.

## Procesamiento de texto y formatos

 * **`php8.4-xml`**, **`php8.4-xmlrpc`** y **`php8.4-xsl`**: soporte para XML, llamadas
   XML-RPC y transformaciones XSLT.
 * **`php8.4-soap`**: cliente y servidor SOAP.
 * **`php8.4-mbstring`**: manejo correcto de cadenas multibyte (UTF-8, etc.); casi
   imprescindible en cualquier aplicación moderna.
 * **`php8.4-intl`**: funciones de internacionalización basadas en ICU (formateo
   de fechas, monedas, números según el idioma).
 * **`php8.4-tidy`**: limpieza y reparación de HTML mal formado.
 * **`php8.4-yaml`**: parseo de archivos YAML.
 * **`php8.4-enchant`** y **`php8.4-pspell`**: dos librerías distintas de corrección
   ortográfica.
 * **`php8.4-mailparse`**: parseo de correos electrónicos en formato MIME.
 * **`php8.4-ast`**: genera el árbol de sintaxis abstracta (AST) del código PHP,
   usado por herramientas de análisis estático.

## Compresión y archivos

 * **`php8.4-zip`**: creación y lectura de archivos ZIP.
 * **`php8.4-bz2`**: compresión Bzip2.
 * **`php8.4-zstd`**: compresión Zstandard, más moderna y rápida que las anteriores.

## Procesamiento de imágenes

 * **`php8.4-gd`**: la librería gráfica clásica de PHP.
 * **`php8.4-imagick`**: binding de ImageMagick, más potente y flexible que GD.
 * **`php8.4-gmagick`**: binding de GraphicsMagick, alternativa a ImageMagick.

## Matemáticas y estructuras de datos

 * **`php8.4-bcmath`**: matemáticas de precisión arbitraria, útil para cálculos 
   financieros.
 * **`php8.4-gmp`**: aritmética de números muy grandes (GNU Multiple Precision).
 * **`php8.4-ds`**: estructuras de datos eficientes (Vector, Map, Set, Stack) más
   rápidas que los arrays nativos en ciertos casos de uso.

## Seguridad y cifrado

 * **`php8.4-gnupg`**: cifrado y firma digital con GPG.
 * **`php8.4-mcrypt`**: extensión de cifrado obsoleta, mantenida solo por compatibilidad
   con código antiguo.
 * **`php8.4-ssh2`**: conexiones SSH2 desde PHP.
 * **`php8.4-uuid`**: generación de identificadores UUID.

## Redes y protocolos

 * **`php8.4-curl`**: el cliente HTTP más usado en PHP.
 * **`php8.4-http`**: una extensión HTTP más completa (PECL http), con funcionalidades
   adicionales a cURL.
 * **`php8.4-ldap`**: cliente LDAP, típico en entornos con Active Directory.
 * **`php8.4-snmp`**: cliente SNMP, para monitorización de red.
 * **`php8.4-smbclient`**: cliente para compartir archivos vía SMB/CIFS.
 * **`php8.4-amqp`**: cliente AMQP, habitual con RabbitMQ.
 * **`php8.4-stomp`**: cliente para el protocolo de mensajería STOMP.
 * **`php8.4-gearman`**: cliente para Gearman, un sistema de procesamiento distribuido
   de trabajos.
 * **`php8.4-zmq`**: cliente para ZeroMQ.
 * **`php8.4-oauth`**: implementación del protocolo OAuth.
 * **`php8.4-raphf`**: librería base de gestión de recursos, dependencia interna
   de `php8.4-http`.

## Depuración y desarrollo

 * **`php8.4-xdebug`**: el depurador y profiler más usado en PHP, con breakpoints,
   stack traces y cobertura de código.
 * **`php8.4-pcov`**: una alternativa a Xdebug centrada solo en cobertura de código,
   mucho más ligera.
 * **`php8.4-excimer`**: un profiler de muy bajo overhead, desarrollado originalmente
   por Wikimedia.
 * **`php8.4-uopz`**: permite modificar funciones y clases en tiempo de ejecución,
   útil para mocking en tests.
 * **`php8.4-uploadprogress`**: permite seguir el progreso de subida de archivos
   grandes.

## Extensiones de nicho

 * **`php8.4-inotify`**: acceso al sistema inotify de Linux para monitorizar cambios
   en archivos.
 * **`php8.4-rrd`**: interfaz con RRDtool, usado en herramientas de gráficas de 
   series temporales como Cacti o Nagios.
 * **`php8.4-maxminddb`**: lectura de bases de datos GeoIP de MaxMind, para geolocalización
   por IP.
 * **`php8.4-libvirt-php`**: binding para libvirt, permite gestionar máquinas virtuales(
   KVM, Xen, etc.) desde PHP.
 * **`php8.4-ps`**: consulta de información de procesos del sistema.
 * **`php8.4-psr`**: interfaces PSR base, dependencia interna de otras extensiones
   PECL.

## ¿Qué pasa si se instalan todas a la vez?

Instalar el paquete de una extensión no siempre significa que se active automáticamente
en todos los contextos (CLI, FPM, etc.): en Debian y Ubuntu, cada extensión activa
su propio fichero `.ini` en `/etc/php/8.4/mods-available/` y se enlaza a los SAPI
correspondientes mediante `phpenmod`. Es decir, se pueden tener instaladas sin que
estén realmente cargadas en producción.

Dicho esto, hay varios puntos a vigilar si se instala todo el catálogo:

**Xdebug en producción es el error más frecuente y más grave.** Instrumenta cada
función que se ejecuta, lo que puede ralentizar PHP entre 2 y 10 veces. Nunca debería
estar activo fuera de un entorno de desarrollo. Además, compite con `pcov` por el
mismo mecanismo de cobertura de código: tener ambos activos simultáneamente puede
dar resultados inconsistentes.

**Hay extensiones redundantes.** `memcache` y `memcached` son dos clientes distintos
para el mismo servicio; `gd`, `imagick` y `gmagick` cubren el mismo terreno con 
distinto nivel de potencia; `enchant` y `pspell` hacen lo mismo para corrección 
ortográfica. No generan conflictos técnicos entre sí, pero añaden peso innecesario
y pueden generar dudas sobre cuál usar en el código.

**`uopz` es peligrosa fuera de testing.** Al permitir modificar funciones y clases
en caliente, si se activa por error en un entorno de producción puede alterar el
comportamiento del código de forma silenciosa y muy difícil de rastrear.

**El consumo de recursos aumenta con cada extensión cargada.** No es un problema
grave con unas pocas, pero con setenta extensiones activas a la vez, el arranque
de cada proceso PHP-FPM es algo más lento y cada worker consume algo más de memoria.
En servidores con mucho tráfico y muchos workers concurrentes, esto acaba notándose.

**Más código cargado es, en teoría, más superficie de ataque**, aunque en la práctica
el riesgo es bajo mientras el sistema se mantenga actualizado.

## Recomendación práctica

La estrategia más razonable es instalar solo lo que la aplicación necesita, y en
caso de instalar el catálogo completo por comodidad, desactivar explícitamente lo
que no corresponda al entorno:

bash

    ```wp-block-code
    php -m                          # ver qué extensiones están activas
    phpdismod xdebug uopz pcov      # desactivar herramientas de desarrollo en producción
    php --ini                       # comprobar qué ficheros .ini se están cargando
    ```

En un servidor de desarrollo, en cambio, tiene sentido mantener activos `xdebug`
o `pcov` para depuración y cobertura de tests, y desactivarlos justo antes de desplegar
a producción.
