¿Qué extensiones y bibliotecas de PHP necesita y/o usa WordPress?
El Codex menciona vagamente solo la versión de PHP en los requisitos del servidor, sin embargo, PHP puede configurarse en un amplio rango de exclusión/inclusión de diferentes partes.
¿Cuáles son las extensiones/bibliotecas que:
- son requeridas para que WordPress funcione? MySQL...
- son requeridas para funciones específicas? GD ?...
- son preferidas para el mejor funcionamiento de funciones específicas? cURL...
- son comúnmente utilizadas por plugins? Zip...
Lo pensé un poco más y dado el tamaño de la base de código de WP (incluyendo las bibliotecas incluidas) no parece muy realista compilar manualmente dicha lista (y repetirla para cada nueva versión - meh).
Busqué una herramienta apropiada de análisis estático de código - PHP_CompatInfo y después de algunos ajustes generé el siguiente reporte de extensiones utilizadas por el núcleo (versión escaneada 3.3.1):
cURL - 127 usos (requiere libcurl)
- HTTP API (clase
WP_Http_curl
) url_is_accessable_via_ssl()
SimplePie(sobrescrito con la claseWP_SimplePie_File
)GoogleSpell(del paquete TinyMCE, ¿no se usa?)
- HTTP API (clase
Date/Time - 367 usos
DOM - 6 usos (requiere libxml)
iis7_rewrite_rule_exists()
iis7_delete_rewrite_rule()
iis7_add_rewrite_rule()
saveDomDocument()
POSIX Regex - 23 usos
Filter - 2 usos
- clase
PHPMailer->ValidateAddress()
(opcional)
- clase
FTP - 72 usos
- clase
ftp_base
- clase
ftp
(versiones pure y sockets) - clase
WP_Filesystem_FTPext
- clase
WP_Filesystem_ftpsockets
- clase
GD - 56 usos
wp-admin\includes\image-edit.php
wp-admin\includes\image.php
wp-includes\media.php
Hash - 6 usos
wp-includes\pluggable.php
múltiples usos (opcional - alternativa enwp-includes\compat.php
)
iconv - 5 usos
- clase
SimplePie
(opcional) wp_check_invalid_utf8()
(opcional)wp-mail.php
(opcional)
- clase
JSON - 20 usos
- opcional, alternativas en
wp-includes/compat.php
- opcional, alternativas en
libxml - 4 usos
- clase
WP_oEmbed->_parse_xml()
(opcional) - SimplePie
- clase
Multibyte String - 29 usos
- alguna alternativa en
wp-includes/compat.php
- alguna alternativa en
MySQL - 60 usos
- clase
wpdb
clase(sobrescrito con la claseSimplePie_Cache
WP_Feed_Cache
)
- clase
OpenSSL - 4 usos
- clase
PHPMailer
- clase
PCRE - 743 usos
SimpleXML - 1 uso
- clase
WP_oEmbed
(parece opcional)
- clase
Sockets - 64 usos
- clase
ftp
(implementaciónsockets
)
- clase
SPL - 3 usos
Tokenizer - 3 usos
wp_doc_link_parse()
(opcional)
XML Parser - 89 usos
XMLReader - 1 uso
- SimplePie (parece opcional)
Zlib - 30 usos

Excelente recurso. Afortunadamente, la mayoría de las extensiones y bibliotecas mencionadas ahora vienen compiladas por defecto en PHP 5.2.4 y versiones superiores.

@Chris_O siempre y cuando se siga la configuración por defecto... El equipo central ha mencionado varias veces que existen algunas configuraciones de PHP muuuuy extrañas por ahí. Lo que me llevó a hacer esta pregunta fue que en el trabajo compramos un VPS de un nuevo proveedor de hosting y, inesperadamente, tenía una configuración mínima con algunas extensiones típicas faltantes. Sería más conveniente proporcionar soporte con una lista de verificación de extensiones, que descubrir y pedir que se instalen una por una.

@jgraup ZipArchive o PclZip, consulta las funciones relacionadas de descompresión http://queryposts.com/?s=unzip_file

Con v4.7 y la nueva vista previa/miniatura nativa de PDF, tu servidor necesita soporte para Imagick, ImageMagick y Ghostscript.

probablemente valga la pena mencionar que esas bibliotecas podrían ser usadas por el núcleo, pero depende de configuraciones específicas y rutas de ejecución. por ejemplo, FTP es poco probable que se use si utilizas wp-cli para realizar actualizaciones del núcleo y plugins.

La respuesta para esto puede ser complicada y muy larga, hasta donde sé, también habrá algunas diferencias entre servidores y sistemas operativos (IIS, Apache). No puedo decir que la siguiente lista sea una lista COMPLETA, pero incluye algunas de las que conozco que son requeridas:
Curl y CurlSSL – No estoy seguro de que sea OBLIGATORIO, pero gran parte del código de WordPress lo usará si está disponible. Sin embargo, muchos plugins SÍ lo requieren y/o tendrán funciones limitadas sin él.
Exif – Permite al manejador de medios de WordPress extraer datos Exif de las imágenes.
Gettext – Manejo de .po y .mo para traducción, localización e internacionalización.
FTP – Se utiliza para realizar actualizaciones de plugins y WordPress mediante FTP.
GD – No necesita presentación, ¿verdad?.
Iconv – Conversiones de conjuntos de caracteres para todo, desde correo hasta análisis de RSS.
Mbregex y Mbstring – El nombre es bastante descriptivo: proporciona funciones utilizadas en todas partes :-)
Mcrypt – No es necesario para WordPress, pero muchos plugins lo necesitan.
Mime Magic – Ahora obsoleto en WordPress, pero sigue siendo bueno tenerlo por compatibilidad hacia atrás.
Mysql y el Mysql del sistema – Todos sabemos qué es esto y por qué es necesario, ¿no?.
Openssl – Esta biblioteca se utiliza para manejar conexiones cifradas con certificados SSL, permitiendo a WordPress conectarse a ubicaciones cifradas con SSL (https).
POSIX – Se utiliza para garantizar que WordPress mantenga correctamente los permisos y propietarios de los archivos.
Path Info Check – Algunas configuraciones de enlaces permanentes.
Pspell – Capacidades de revisión ortográfica para TinyMCE.
Sockets – Manejo de conexiones FTP y gestión de correo, también conocido como SMTP y POP en WordPress.
Zip – No estoy seguro de si es OBLIGATORIO, pero esta clase compatible con múltiples plataformas para creación y extracción de archivos zip SERÁ utilizada por WordPress si está disponible.
Zlib – Se utiliza en muchos casos, por ejemplo, compresión de archivos JS y CSS. De nuevo, no estoy seguro de si es OBLIGATORIO, pero es necesario.
Como se mencionó anteriormente, esto de ninguna manera es una lista COMPLETA. Fue compilada hace aproximadamente un año y podría necesitar alguna actualización. Muchas de estas funciones no son exactamente OBLIGATORIAS, pero sí RECOMENDADAS. En muchos casos, WordPress usará una función SI está disponible, y si no, ignorará la tarea. Un buen ejemplo es la falta de la biblioteca GD: no impedirá que WordPress funcione, pero no recortará, redimensionará ni modificará las imágenes subidas, dejando las originales (y desactivando la opción de "tamaño" en la función "insertar imagen en la publicación").
Como nota adicional, también diría que quizás esta pregunta obtendrá respuestas más correctas/actualizadas en serverfault.com que aquí...

(Esto no pretende ser una respuesta. Solo información útil. Si crees que esta información no es útil, házmelo saber y simplemente la eliminaré.)
Creo que hablar en términos de paquetes sería más fácil para los principiantes, pero dado que los paquetes varían de un sistema a otro, es difícil cubrirlos todos.
Como tengo experiencia con Debian (y distribuciones basadas en Debian), me gustaría compartir esta información específica:
- php5-cli
- php5-dev
- php5-fpm
- php5-cgi
- php5-mysql
- php5-xmlrpc
- php5-curl
- php5-gd
- php-apc (no es obligatorio, pero recomendado)
- php-pear
- php5-imap
- php5-mcrypt
- php5-pspell
Los paquetes mencionados anteriormente instalan todas las extensiones/bibliotecas/módulos mencionados en las otras respuestas; todos, excepto Mime Magic, que ya no es requerido por WordPress.
Otra buena manera de asegurarte de que tu servidor sea 100% compatible con WordPress es verificar qué paquetes vienen preinstalados en las empresas de hosting gestionado. Como tienen años de experiencia con quejas de clientes sobre incompatibilidades, lo sabrán mejor.
En el caso de Hostgator, los módulos de PHP que preinstalan incluyen (probablemente solo necesitarás la mayoría pero no todos):
Media Temple proporciona un archivo phpinfo();
para que revises su configuración. También es útil para fines de comparación.

¿Para qué necesita WP php5-cli, php5-dev, (php5-fpm && php5-cgi), php5-pear, php5-imap y php5-pspell? Tu enfoque parece ser simplemente instalar todo y es uno pobre. Al igual que la idea de que deberías imitar entornos de hosting compartido si tienes control sobre tu instalación. Además, deberías elegir una forma de ejecutar PHP (FastCGI o CGI) pero no ambas.

Si deseas una forma sencilla de verificar si tu servidor cumple con estos requisitos, ahora existe un práctico comando de extensión WP-CLI para hacerlo.
wp ext required
muestra todas las extensiones PHP necesarias para ejecutar WordPress, mientras que wp ext recommended
muestra las opcionales. wp ext check
es una combinación de ambos comandos.
Estos resultan útiles cuando necesitas una forma rápida de verificar los requisitos del sistema en un nuevo servidor y/o si deseas procesar esta lista programáticamente.
Así es como funciona wp ext required
:
$ wp ext required
+-----------+-----------+
| extension | installed |
+-----------+-----------+
| curl | 1 |
| date | 1 |
| dom | 1 |
| filter | 1 |
| ftp | 1 |
| gd | 1 |
| hash | 1 |
| iconv | 1 |
| json | 1 |
| libxml | 1 |
| mbstring | 1 |
| mysqli | 1 |
| openssl | 1 |
| pcre | 1 |
| posix | 1 |
| SimpleXML | 1 |
| sockets | 1 |
| SPL | 1 |
| tokenizer | 1 |
| xml | 1 |
| xmlreader | 1 |
| zlib | 1 |
+-----------+-----------+
Éxito: Todas las extensiones requeridas están instaladas

He desarrollado mi verificador de entorno WordPress. Es una clase simple, que se ejecuta en SAPI web o en CLI. Esta es la versión mantenida https://github.com/szepeviktor/debian-server-tools/blob/master/webserver/php-env-check.php
<?php
/**
* Verificar el entorno PHP.
*
* Uso a través de un servidor web
* wget -q -O - "https://example.com/php-env-check.php"; echo
* Uso en CLI
* php /ruta/a/php-env-check.php
*
* @package php-env-check
* @version 0.2.0
* @author Viktor Szépe <viktor@szepe.net>
*/
namespace O1;
// Solo acceso local
if ( php_sapi_name() !== 'cli' && $_SERVER['REMOTE_ADDR'] !== $_SERVER['SERVER_ADDR'] ) {
header( 'Status: 403 Forbidden' );
header( 'HTTP/1.1 403 Forbidden', true, 403 );
header( 'Connection: Close' );
exit;
}
// Eliminar versión en caché de este archivo
if ( function_exists( 'opcache_invalidate' ) ) {
opcache_invalidate( __FILE__ );
}
// Verificar entorno
$check = new Check_Env();
$status = empty( $check->errors );
// Mostrar reporte y salir
print json_encode( $check->errors );
exit( $status ? 0 : 1 );
/**
* Verificar configuración PHP.
*/
final class Check_Env {
/**
* Lista de errores.
*/
public $errors = array();
/**
* Ejecutar las verificaciones.
*
* @param void
*/
public function __construct() {
// Extensiones para WordPress en PHP 7.0
// http://wordpress.stackexchange.com/a/42212
// Versión del motor
$this->assert( 'php', 70013, PHP_VERSION_ID );
// Directivas principales
$this->assert_directive( 'expose_php', '' );
$this->assert_directive( 'allow_url_fopen', '' );
$this->assert_directive( 'mail.add_x_header', '' );
$this->assert_directive( 'realpath_cache_size', '64k' );
$this->assert_directive( 'max_execution_time', '30' );
$this->assert_directive( 'memory_limit', '128M' );
$this->assert_directive( 'max_input_vars', '1000' );
$this->assert_directive( 'post_max_size', '4M' );
$this->assert_directive( 'upload_max_filesize', '4M' );
// Extensiones compiladas
// php -n -m | paste -s -d " "
// Core date filter hash libxml openssl pcntl pcre Reflection session SPL standard zlib
$this->assert_extension( 'date' );
$this->assert_directive( 'date.timezone', 'Europe/Budapest' );
$this->assert_extension( 'filter' );
$this->assert_extension( 'hash' );
$this->assert_extension( 'openssl' );
$this->assert_extension( 'pcre' );
$this->assert_extension( 'SPL' );
$this->assert_extension( 'zlib' );
// Extensiones comunes
// dpkg -L php7.0-common | sed -n -e 's|^/usr/lib/php/\S\+/\(\S\+\)\.so$|\1|p' | paste -s -d " "
// ctype iconv gettext tokenizer sockets pdo sysvsem fileinfo posix exif sysvmsg phar ftp calendar sysvshm shmop
$this->assert_extension( 'ctype' ); // wp-includes/ID3/getid3.lib.php
$this->assert_extension( 'posix' );
$this->assert_extension( 'exif' ); // wp-admin/includes/image.php
$this->assert_extension( 'ftp' );
$this->assert_extension( 'gettext' ); // _()
$this->assert_extension( 'iconv' );
$this->assert_extension( 'mbstring' );
$this->assert_extension( 'sockets' );
$this->assert_extension( 'tokenizer' );
// php7.0-json
$this->assert_extension( 'json' );
// php7.0-intl
$this->assert_extension( 'intl' );
// php7.0-xml
// wddx xml simplexml xmlwriter xmlreader dom xsl
$this->assert_extension( 'xml' );
$this->assert_extension( 'SimpleXML' );
$this->assert_extension( 'xmlreader' );
$this->assert_extension( 'dom' );
// php7.0-curl
$this->assert_extension( 'curl' );
// php7.0-gd
$this->assert_extension( 'gd' );
// php7.0-mysql
// mysqlnd mysqli pdo_mysql
// WP_USE_EXT_MYSQL usará mysqli a través de mysqlnd (sin PDO)
$this->assert_extension( 'mysqlnd' );
$this->assert_extension( 'mysqli' );
// php7.0-opcache
$this->assert_extension( 'Zend OPcache', 'ext.opcache' );
$this->assert_directive( 'opcache.restrict_api', '/home/prg123' );
$this->assert_directive( 'opcache.memory_consumption', '256' );
$this->assert_directive( 'opcache.interned_strings_buffer', '16' );
$this->assert_directive( 'opcache.max_accelerated_files', '10000' );
// Extensiones obsoletas
$this->assert_disabled_extension( 'mcrypt' );
$this->assert_disabled_extension( 'mysql' );
// Extensiones deshabilitadas
// calendar fileinfo pcntl PDO pdo_mysql Phar readline
// shmop sysvmsg(System V messages) sysvsem(System V semaphore) sysvshm(System V shared memory) wddx xmlwriter xsl
$this->assert_disabled_extension( 'calendar' );
$this->assert_disabled_extension( 'fileinfo' );
$this->assert_disabled_extension( 'pcntl' );
$this->assert_disabled_extension( 'PDO' );
$this->assert_disabled_extension( 'pdo_mysql' );
$this->assert_disabled_extension( 'Phar' );
$this->assert_disabled_extension( 'readline' );
$this->assert_disabled_extension( 'shmop' );
$this->assert_disabled_extension( 'sysvmsg' );
$this->assert_disabled_extension( 'sysvsem' );
$this->assert_disabled_extension( 'sysvshm' );
$this->assert_disabled_extension( 'wddx' );
$this->assert_disabled_extension( 'xmlwriter' );
$this->assert_disabled_extension( 'xsl' );
// php7.0-sqlite3
// pdo_sqlite sqlite3
$this->assert_disabled_extension( 'pdo_sqlite' );
$this->assert_disabled_extension( 'sqlite3' );
// Extensiones de terceros
// php7.0-redis
$this->assert_extension( 'igbinary' );
$this->assert_extension( 'redis' );
// No para WordPress
// Sesión
$this->assert_directive( 'session.gc_maxlifetime', '1440' );
}
/**
* Aserción simple.
*
* @param $id string ID de aserción
* @param $expected string Valor esperado
* @param $result string Valor actual
*/
private function assert( $id, $expected, $result ) {
if ( $expected !== $result ) {
$this->errors[ $id ] = $result;
}
}
/**
* Aserción para una extensión PHP.
*
* @param $extension_name string Nombre de extensión
* @param $id string ID opcional de aserción
*/
private function assert_extension( $extension_name, $id = '' ) {
// ID automático
if ( '' === $id ) {
$id = 'ext.' . $extension_name;
}
$this->assert( $id, true, extension_loaded( $extension_name ) );
}
/**
* Aserción negativa para una extensión PHP.
*
* @param $extension_name string Nombre de extensión
* @param $id string ID opcional de aserción
*/
private function assert_disabled_extension( $extension_name, $id = '' ) {
// ID automático
if ( '' === $id ) {
$id = '!ext.' . $extension_name;
}
$this->assert( $id, false, extension_loaded( $extension_name ) );
}
/**
* Aserción para una directiva PHP.
*
* @param $directive_name string Nombre de directiva
* @param $expected string Valor esperado
* @param $id string ID opcional de aserción
*/
private function assert_directive( $directive_name, $expected, $id = '' ) {
// ID automático
if ( '' === $id ) {
$id = $directive_name;
}
$this->assert( $id, $expected, ini_get( $directive_name ) );
}
}
Basado en el trabajo de @rarst

El manual de WordPress ahora enumera los módulos PHP recomendados:
El núcleo de WordPress hace uso de extensiones PHP. Si la extensión preferida no está disponible, WordPress tendrá que realizar más trabajo para llevar a cabo la tarea que el módulo ayuda a realizar o, en el peor de los casos, perderá funcionalidad. Por lo tanto, se recomiendan las siguientes extensiones PHP:
- curl – Realiza operaciones de solicitud remota.
- exif – Trabaja con metadatos almacenados en imágenes.
- filter – Utilizado para filtrar de forma segura la entrada de usuarios.
- fileinfo – Se usa para detectar el tipo MIME de archivos subidos.
- mod_xml – Utilizado para generar XML, como para un mapa del sitio XML. Nota: mod_xml es un módulo de Apache, no una extensión PHP, pero se incluye para conocimiento.
- mysqli – Se conecta a MySQL para interacciones con la base de datos.
- libsodium – Genera bytes aleatorios.
- openssl – Permite conexiones basadas en SSL con otros hosts.
- pcre – Aumenta el rendimiento en búsquedas de patrones en código.
- imagick – Proporciona mejor calidad de imagen para subidas de medios. Ver WP_Image_Editor is incoming! para detalles. Redimensionamiento inteligente de imágenes (para imágenes más pequeñas) y soporte para miniaturas PDF, cuando Ghost Script también está disponible.
- xml – Utilizado para analizar XML, como desde un sitio de terceros.
También enumera las siguientes extensiones PHP como opcionales:
- gd – Si Imagick no está instalado, la biblioteca GD Graphics Library se usa como alternativa funcionalmente limitada para manipulación de imágenes.
- mcrypt – Genera bytes aleatorios cuando libsodium no está disponible.
- xmlreader – Utilizado para analizar XML.
- zlib – Compresión y descompresión Gzip.

Hmm, me pregunto qué tiene que ver mod_xml
con nada ya que el núcleo no implementa mapas de sitio XML ni está vinculado a ejecutarse en un servidor web específico.

Nota: bcmath
ha sido eliminado de esa lista en la página desde esta respuesta.

Si estás utilizando Debian 7 (Debian Wheezy), necesitas instalar PHP en sí y un pequeño número de extensiones. La mayoría de lo mencionado por @Rarst ya está incluido en una de las instalaciones más básicas de PHP en Debian.
PHP
Tienes cuatro opciones en Debian Wheezy: libapache2-mod-php5, libapache2-mod-php5filter, php5-cgi, o php5-fpm. Yo elijo php5-fpm, pero todo depende de cómo quieras que interactúen tu servidor web y PHP.
MySQL
También necesitas PHP para usar MySQL. Tus opciones son php5-mysql y php5-mysqlnd. php5-mysqlnd es nativo y generalmente más rápido. Algunos podrían elegir una alternativa como MariaDB.
Biblioteca de Gráficos Opcional
Si deseas que tus imágenes se redimensionen, puedes instalar php5-gd o php5-imagick. php5-imagick te dará mejor calidad y WordPress lo usará si está disponible. Si ambos están instalados, se usará php5-imagick. Si ninguno está instalado, las imágenes no se redimensionarán (y WordPress no se quejará).
HTTP Opcional
Si instalas php5-curl, se usará pero no es necesario para nada, excepto quizás para un mejor rendimiento.
WordPress no requiere nada más y la mayoría de las extensiones tampoco, aunque algunas extensiones pueden tener otros requisitos.
Aquí está la línea de instalación básica completa para darle a WordPress todo lo que necesita para un rendimiento óptimo y nada más:
apt-get install php5-fpm php5-mysqlnd php5-imagick php5-curl

Una pequeña "chuleta" para instalar PHP para WordPress en Debian:
0. Añadir el repositorio dotdeb
Añade estas dos líneas a tu archivo /etc/apt/sources.list
:
deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all
Añade la clave GPG:
wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
Actualiza la "lista de paquetes":
sudo apt-get update
1. Instalar PHP 7:
apt-get install php7.0-common libapache2-mod-php7.0 php7.0-cli
Fuente: http://php.net/manual/en/install.unix.debian.php
2. Lista de módulos incluidos en el paquete "php7.0-common":
/usr/lib/php/20151012/calendar.so
/usr/lib/php/20151012/ctype.so
/usr/lib/php/20151012/exif.so
/usr/lib/php/20151012/fileinfo.so
/usr/lib/php/20151012/ftp.so
/usr/lib/php/20151012/gettext.so
/usr/lib/php/20151012/iconv.so
/usr/lib/php/20151012/pdo.so
/usr/lib/php/20151012/phar.so
/usr/lib/php/20151012/posix.so
/usr/lib/php/20151012/shmop.so
/usr/lib/php/20151012/sockets.so
/usr/lib/php/20151012/sysvmsg.so
/usr/lib/php/20151012/sysvsem.so
/usr/lib/php/20151012/sysvshm.so
/usr/lib/php/20151012/tokenizer.so
Fuente: https://packages.debian.org/sid/amd64/php7.0-common/filelist
3. Para instalar los módulos adicionales requeridos/recomendados por WordPress:
apt-get install php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-pspell php7.0-zip
Fuente: https://wordpress.stackexchange.com/a/42141/107878
4. No pude encontrar lo siguiente en Debian:
Openssl
Path Info Check
Zlib
5. "apt-cache search php7" devuelve:
php7.0 - lenguaje de scripting embebido en HTML del lado del servidor (metapaquete)
php7.0-apcu - Caché de usuario APC para PHP
php7.0-apcu-bc - Módulo de compatibilidad hacia atrás para APCu
php7.0-bcmath - Módulo Bcmath para PHP
php7.0-bz2 - módulo bzip2 para PHP
php7.0-cgi - lenguaje de scripting embebido en HTML del lado del servidor (binario CGI)
php7.0-cli - intérprete de línea de comandos para el lenguaje PHP
php7.0-common - documentación, ejemplos y módulo común para PHP
php7.0-curl - módulo CURL para PHP
php7.0-dba - módulo DBA para PHP
php7.0-dbg - Símbolos de depuración para PHP7.0
php7.0-dev - Archivos para desarrollo de módulos PHP7.0
php7.0-enchant - Módulo Enchant para PHP
php7.0-fpm - lenguaje de scripting embebido en HTML del lado del servidor (binario FPM-CGI)
php7.0-gd - módulo GD para PHP
php7.0-geoip - módulo GeoIP para PHP
php7.0-gmp - módulo GMP para PHP
php7.0-igbinary - serializador igbinary para PHP
php7.0-imagick - Proporciona un wrapper para la biblioteca ImageMagick
php7.0-imap - módulo IMAP para PHP
php7.0-interbase - módulo Interbase para PHP
php7.0-intl - módulo de internacionalización para PHP
php7.0-json - módulo JSON para PHP
php7.0-ldap - módulo LDAP para PHP
php7.0-mbstring - módulo MBSTRING para PHP
php7.0-mcrypt - módulo libmcrypt para PHP
php7.0-memcached - módulo de extensión memcached para PHP, usa libmemcached
php7.0-mongodb - Controlador MongoDB para PHP
php7.0-msgpack - Serializador MessagePack para PHP
php7.0-mysql - módulo MySQL para PHP
php7.0-odbc - módulo ODBC para PHP
php7.0-opcache - módulo Zend OpCache para PHP
php7.0-pgsql - módulo PostgreSQL para PHP
php7.0-phpdbg - lenguaje de scripting embebido en HTML del lado del servidor (binario PHPDBG)
php7.0-pspell - módulo pspell para PHP
php7.0-readline - módulo readline para PHP
php7.0-recode - módulo recode para PHP
php7.0-redis - Extensión PHP para interactuar con Redis
php7.0-snmp - módulo SNMP para PHP
php7.0-soap - módulo SOAP para PHP
php7.0-sqlite3 - módulo SQLite3 para PHP
php7.0-ssh2 - Enlaces para la biblioteca libssh2
php7.0-sybase - módulo Sybase para PHP
php7.0-tidy - módulo tidy para PHP
php7.0-xdebug - Módulo Xdebug para PHP
php7.0-xml - módulos DOM, SimpleXML, WDDX, XML y XSL para PHP
php7.0-xmlrpc - módulo XMLRPC-EPI para PHP
php7.0-xsl - módulo XSL para PHP (dummy)
php7.0-zip - módulo Zip para PHP
Referencia: https://packages.debian.org/source/sid/php7.0

Oficialmente, WordPress.org menciona que solo las siguientes extensiones de PHP son requeridas a partir de WP Core 5.3+ y al utilizar la versión recomendada de PHP, que actualmente es PHP 7.2:
curl -- Realiza operaciones de solicitud remota.
dom -- Se utiliza para validar contenido en Widgets de Texto y configurar automáticamente IIS7+.
exif -- Trabaja con metadatos almacenados en imágenes.
fileinfo -- Se usa para detectar el tipo MIME de archivos subidos.
hash -- Se utiliza para hashing, incluyendo contraseñas y paquetes de actualización.
json -- Se usa para comunicaciones con otros servidores.
mbstring -- Maneja correctamente texto en UTF8.
mysqli -- Conecta con MySQL para interacciones con la base de datos.
libsodium -- Valida firmas y proporciona bytes aleatorios seguros.
openssl -- Permite conexiones SSL con otros hosts.
pcre -- Mejora el rendimiento en búsquedas de patrones en el código.
imagick -- Proporciona mejor calidad de imagen en subidas de medios. Consulta WP_Image_Editor is incoming! para más detalles. Redimensionamiento más inteligente de imágenes (para imágenes más pequeñas) y soporte para miniaturas de PDF, cuando Ghost Script también está disponible.
xml -- Se usa para analizar XML, como desde un sitio de terceros.
zip -- Se utiliza para descomprimir Plugins, Temas y paquetes de actualización de WordPress.
...pero también recomiendan las siguientes extensiones opcionales:
filter -- Se utiliza para filtrar de manera segura la entrada de usuarios.
gd -- Si Imagick no está instalado, la Biblioteca Gráfica GD se utiliza como alternativa funcionalmente limitada para manipulación de imágenes.
iconv -- Se usa para convertir entre conjuntos de caracteres.
mcrypt -- Genera bytes aleatorios cuando libsodium y /dev/urandom no están disponibles.
simplexml -- Se utiliza para analizar XML.
xmlreader -- Se usa para analizar XML.
zlib -- Compresión y descompresión Gzip.
Sin embargo, ten en cuenta que algunas de estas extensiones requeridas (u opcionales) ya vienen incluidas en otros paquetes de PHP. Por ejemplo, dom
a menudo está incluido en la extensión xml
. Y otras como fileinfo
probablemente ya estén instaladas como parte de un paquete llamado php-common
si estás usando Ubuntu, etc.
Además, existen otras extensiones como bcmath
que no son oficialmente requeridas o recomendadas por WordPress, pero que son utilizadas por muchos plugins populares, como Yoast SEO.
Puedes seguir nuestra lista de extensiones PHP para WordPress en LittleBizzy si estás interesado.

necesitas las extensiones mysqli, pdo y gd. y a veces xml-rpc.
He estado ejecutando WP con la extensión nativa mysqlnd durante un tiempo, es bastante útil. Tiene funciones de reflexión incorporadas, así que si quieres ver qué está pasando con la base de datos en esa solicitud específica, puedes hacerlo.
zip como extensión no es necesaria, la mayoría de los programas llaman al ejecutable zip del sistema.
