Quali sono le estensioni e le librerie PHP necessarie e/o utilizzate da WordPress?
Il Codex menziona solo genericamente la versione PHP nei requisiti del server, tuttavia PHP può essere configurato con una vasta gamma di parti da escludere/includere.
Quali sono le estensioni/librerie che:
- sono necessarie per il funzionamento base di WordPress? MySQL...
- sono richieste per funzioni specifiche? GD ?...
- sono preferibili per un funzionamento ottimale di funzioni specifiche? cURL...
- sono comunemente utilizzate dai plugin? Zip...
Ho riflettuto ulteriormente e considerando le dimensioni della codebase di WP (inclusi i librerie incluse) non sembra molto realistico compilare manualmente una tale lista (e ripeterla per ogni nuova versione - meh).
Ho cercato uno strumento di analisi statica del codice appropriato - PHP_CompatInfo e dopo qualche sperimentazione ho generato il seguente report delle estensioni utilizzate dal core (versione scansionata 3.3.1):
cURL - 127 utilizzi (richiede libcurl)
- HTTP API (classe
WP_Http_curl
) url_is_accessable_via_ssl()
SimplePie(sostituito con la classeWP_SimplePie_File
)GoogleSpell(dal pacchetto TinyMCE, non viene usato?)
- HTTP API (classe
Date/Time - 367 utilizzi
DOM - 6 utilizzi (richiede libxml)
iis7_rewrite_rule_exists()
iis7_delete_rewrite_rule()
iis7_add_rewrite_rule()
saveDomDocument()
POSIX Regex - 23 utilizzi
Filter - 2 utilizzi
- classe
PHPMailer->ValidateAddress()
(opzionale)
- classe
FTP - 72 utilizzi
- classe
ftp_base
- classe
ftp
(versioni pure e sockets) - classe
WP_Filesystem_FTPext
- classe
WP_Filesystem_ftpsockets
- classe
GD - 56 utilizzi
wp-admin\includes\image-edit.php
wp-admin\includes\image.php
wp-includes\media.php
Hash - 6 utilizzi
wp-includes\pluggable.php
utilizzi multipli (opzionale - fallback inwp-includes\compat.php
)
iconv - 5 utilizzi
- classe
SimplePie
(opzionale) wp_check_invalid_utf8()
(opzionale)wp-mail.php
(opzionale)
- classe
JSON - 20 utilizzi
- opzionale, fallbacks in
wp-includes/compat.php
- opzionale, fallbacks in
libxml - 4 utilizzi
- classe
WP_oEmbed->_parse_xml()
(opzionale) - SimplePie
- classe
Multibyte String - 29 utilizzi
- alcuni fallback in
wp-includes/compat.php
- alcuni fallback in
MySQL - 60 utilizzi
- classe
wpdb
classe(sostituito con la classeSimplePie_Cache
WP_Feed_Cache
)
- classe
OpenSSL - 4 utilizzi
- classe
PHPMailer
- classe
PCRE - 743 utilizzi
SimpleXML - 1 utilizzo
- classe
WP_oEmbed
(sembra opzionale)
- classe
Sockets - 64 utilizzi
- classe
ftp
(implementazionesockets
)
- classe
SPL - 3 utilizzi
Tokenizer - 3 utilizzi
wp_doc_link_parse()
(opzionale)
XML Parser - 89 utilizzi
XMLReader - 1 utilizzo
- SimplePie (sembra opzionale)
Zlib - 30 utilizzi

Ottima risorsa. Fortunatamente la maggior parte delle estensioni e librerie sopra menzionate sono ora compilate di default con PHP 5.2.4 e versioni successive.

@Chris_O purché si segua la configurazione di default... Il team core ha detto più volte che ci sono alcune configurazioni PHP davvero strane là fuori nel mondo. Ciò che mi ha spinto a fare questa domanda è stato l'acquisto di un VPS al lavoro da un nuovo provider di hosting che, inaspettatamente, aveva una configurazione molto minima con alcune estensioni tipiche mancanti. Sarebbe più conveniente fornire supporto con una lista di controllo di queste estensioni, piuttosto che scoprirne e chiederne l'installazione una per una.

@jgraup ZipArchive o PclZip vedi le relative funzioni di decompressione http://queryposts.com/?s=unzip_file

Con v4.7 e la nuova anteprima/miniatura nativa per PDF, il tuo server ha bisogno del supporto per Imagick, ImageMagick e Ghostscript.

probabilmente vale la pena menzionare che quelle librerie potrebbero essere utilizzate dal core, ma dipende da configurazioni specifiche e percorsi di esecuzione. ad esempio FTP è improbabile che venga utilizzato se usi wp-cli per fare aggiornamenti del core e dei plugin.

La risposta potrebbe essere complicata e molto lunga, per quanto ne so, ci saranno anche alcune differenze tra server e sistemi operativi (IIS, Apache)... Non posso dire che la seguente lista sia COMPLETA, ma include alcuni di quelli che conosco e che sono necessari:
Curl e CurlSSL – Non sono sicuro che siano OBBLIGATORI, ma gran parte del codice di WordPress li utilizzerà se disponibili. Tuttavia, molti plugin richiedono queste funzionalità e/o avranno funzioni limitate senza di esse.
Exif – Consente al gestore dei media di WordPress di estrarre i dati Exif dalle immagini.
Gettext – Gestione dei file .po e .mo per la traduzione, localizzazione e internazionalizzazione.
FTP – Utilizzato per aggiornare plugin e WordPress tramite FTP.
GD – Non ha bisogno di presentazioni, vero?
Iconv – Conversioni di set di caratteri per tutto, dalla gestione delle email al parsing degli RSS.
Mbregex e Mbstring – Il nome è abbastanza descrittivo: forniscono funzioni utilizzate ovunque :-)
Mcrypt – Non necessario per WordPress, ma molti plugin ne hanno bisogno.
Mime Magic – Ora deprecato in WordPress, ma comunque utile per mantenere la compatibilità con le versioni precedenti.
Mysql e Mysql del sistema – Sappiamo tutti cos'è e perché è necessario, vero?
Openssl – Questa libreria viene utilizzata per gestire connessioni crittografate con certificati SSL, permettendo a WordPress di connettersi a qualsiasi posizione protetta da SSL (https).
POSIX – Utilizzato per garantire che WordPress mantenga correttamente i permessi e la proprietà dei file.
Path Info Check – Alcune configurazioni di permalink.
Pspell – Aggiunge capacità di controllo ortografico a TinyMCE.
Sockets – Gestione delle connessioni FTP e della gestione delle email, come SMTP e POP in WordPress.
Zip – Non sono sicuro che sia OBBLIGATORIO, ma questa classe compatibile con più piattaforme per la creazione ed estrazione di file zip verrà utilizzata da WordPress se disponibile.
Zlib – Utilizzato in molti casi, ad esempio per la compressione di file JS e CSS. Anche qui, non sicuro se OBBLIGATORIO, ma necessario.
Come detto sopra, questa non è affatto una lista COMPLETA – è stata compilata circa un anno fa e potrebbe aver bisogno di qualche aggiornamento. Molte di queste funzioni non sono esattamente OBBLIGATORIE, ma CONSIGLIATE. In molti casi, WordPress utilizzerà una funzione SE disponibile e, in caso contrario, ignorerà il compito. Un buon esempio è l'assenza della libreria GD: non impedirà a WordPress di funzionare, ma non ridimensionerà, ritaglierà o modificherà le immagini caricate, lasciando intatto il file originale (e disattivando l'opzione "dimensione" nella funzione "inserisci immagine nel post").
Come nota a margine, direi che forse questa domanda potrebbe ricevere risposte più accurate/aggiornate su serverfault.com che qui...

(Questo non è inteso come una risposta. Solo alcune informazioni utili. Se pensi che queste informazioni non siano utili, fammi sapere, la cancellerò semplicemente.)
Penso che parlare in termini di pacchetti sarebbe più facile per i principianti, ma dato che i pacchetti variano da sistema a sistema, è difficile coprirli tutti.
Avendo esperienza con Debian (& distribuzioni basate su Debian), vorrei condividere queste informazioni specifiche:
- php5-cli
- php5-dev
- php5-fpm
- php5-cgi
- php5-mysql
- php5-xmlrpc
- php5-curl
- php5-gd
- php-apc (non richiesto, ma raccomandato)
- php-pear
- php5-imap
- php5-mcrypt
- php5-pspell
I pacchetti sopra elencati installano tutte le estensioni/librerie/moduli menzionati nelle altre risposte; tutti, tranne Mime Magic, che non è più richiesto da WordPress.
Un altro buon modo per assicurarsi che il tuo server sia 100% compatibile con WordPress è controllare quali pacchetti le società di hosting gestito hanno preinstallato. Avendo anni di esperienza con le lamentele dei clienti riguardo alle incompatibilità, loro sanno meglio.
Nel caso di Hostgator, i moduli PHP che preinstallano includono (probabilmente ti serviranno la maggior parte ma non tutti):
Media Temple fornisce un file phpinfo();
per controllare la loro configurazione. È utile anche per scopi di confronto.

Cosa servono a WP php5-cli, php5-dev, (php5-fpm && php5-cgi), php5-pear, php5-imap e php5-pspell? Il tuo approccio sembra essere quello di installare tutto indiscriminatamente ed è un metodo poco efficace. Così come è sbagliata l'idea che si debba emulare gli ambienti di hosting condiviso quando si ha il controllo completo della propria installazione. Inoltre, dovresti scegliere un solo modo per eseguire PHP (FastCGI o CGI) ma non entrambi.

Se vuoi un modo semplice per verificare se il tuo server soddisfa questi requisiti, ora c'è un comando WP-CLI ext molto utile per farlo.
wp ext required
mostra tutte le estensioni PHP necessarie per eseguire WordPress, mentre wp ext recommended
mostra quelle opzionali. wp ext check
è una combinazione di entrambi i comandi.
Questi comandi sono utili quando hai bisogno di un modo rapido per verificare i requisiti di sistema su un nuovo server e/o se vuoi elaborare ulteriormente questa lista in modo programmatico.
Ecco come funziona wp ext required
:
$ wp ext required
+-----------+-----------+
| estensione | installata |
+-----------+-----------+
| 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 |
+-----------+-----------+
Successo: Tutte le estensioni richieste sono installate

Ho sviluppato il mio verificatore dell'ambiente WordPress. È una semplice classe, che funziona su web SAPI o su CLI. Questa è la versione mantenuta https://github.com/szepeviktor/debian-server-tools/blob/master/webserver/php-env-check.php
<?php
/**
* Verifica l'ambiente PHP.
*
* Utilizzo attraverso un webserver
* wget -q -O - "https://example.com/php-env-check.php"; echo
* Utilizzo su CLI
* php /path/to/php-env-check.php
*
* @package php-env-check
* @version 0.2.0
* @author Viktor Szépe <viktor@szepe.net>
*/
namespace O1;
// Accesso locale solamente
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;
}
// Rimuove la versione cache di questo file
if ( function_exists( 'opcache_invalidate' ) ) {
opcache_invalidate( __FILE__ );
}
// Verifica l'ambiente
$check = new Check_Env();
$status = empty( $check->errors );
// Mostra il report ed esce
print json_encode( $check->errors );
exit( $status ? 0 : 1 );
/**
* Verifica la configurazione PHP.
*/
final class Check_Env {
/**
* Lista degli errori.
*/
public $errors = array();
/**
* Esegue i controlli.
*
* @param void
*/
public function __construct() {
// Estensioni per WordPress su PHP 7.0
// http://wordpress.stackexchange.com/a/42212
// Versione del motore
$this->assert( 'php', 70013, PHP_VERSION_ID );
// Direttive core
$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' );
// Estensioni compilate
// 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' );
// Estensioni comuni
// 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 userà mysqli attraverso mysqlnd (no 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' );
// Estensioni deprecate
$this->assert_disabled_extension( 'mcrypt' );
$this->assert_disabled_extension( 'mysql' );
// Estensioni disabilitate
// 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' );
// Estensioni di terze parti
// php7.0-redis
$this->assert_extension( 'igbinary' );
$this->assert_extension( 'redis' );
// Non per WordPress
// Session
$this->assert_directive( 'session.gc_maxlifetime', '1440' );
}
/**
* Semplice assert.
*
* @param $id string ID dell'assert
* @param $expected string Valore atteso
* @param $result string Valore corrente
*/
private function assert( $id, $expected, $result ) {
if ( $expected !== $result ) {
$this->errors[ $id ] = $result;
}
}
/**
* Assert per un'estensione PHP.
*
* @param $extension_name string Nome dell'estensione
* @param $id string ID opzionale dell'assert
*/
private function assert_extension( $extension_name, $id = '' ) {
// ID automatico
if ( '' === $id ) {
$id = 'ext.' . $extension_name;
}
$this->assert( $id, true, extension_loaded( $extension_name ) );
}
/**
* Assert negativo per un'estensione PHP.
*
* @param $extension_name string Nome dell'estensione
* @param $id string ID opzionale dell'assert
*/
private function assert_disabled_extension( $extension_name, $id = '' ) {
// ID automatico
if ( '' === $id ) {
$id = '!ext.' . $extension_name;
}
$this->assert( $id, false, extension_loaded( $extension_name ) );
}
/**
* Assert per una direttiva PHP.
*
* @param $directive_name string Nome della direttiva
* @param $expected string Valore atteso
* @param $id string ID opzionale dell'assert
*/
private function assert_directive( $directive_name, $expected, $id = '' ) {
// ID automatico
if ( '' === $id ) {
$id = $directive_name;
}
$this->assert( $id, $expected, ini_get( $directive_name ) );
}
}
Basato sul lavoro di @rarst

Il manuale di WordPress ora elenca i moduli PHP consigliati:
Il core di WordPress utilizza estensioni PHP. Se l'estensione preferita manca, WordPress dovrà fare più lavoro per svolgere il compito che il modulo aiuta a gestire o, nel caso peggiore, rimuoverà la funzionalità. Pertanto, le estensioni PHP elencate di seguito sono consigliate.
- curl – Esegue operazioni di richiesta remota.
- exif – Lavora con i metadati archiviati nelle immagini.
- filter – Utilizzato per filtrare in modo sicuro l'input dell'utente.
- fileinfo – Utilizzato per rilevare il mimetype dei file caricati
- mod_xml – Utilizzato per generare XML, come per una sitemap XML. Nota che mod_xml è un modulo Apache, non un'estensione PHP, ma è elencato per completezza.
- mysqli – Si connette a MySQL per le interazioni con il database.
- libsodium – Genera byte casuali.
- openssl – Permette connessioni SSL-based ad altri host.
- pcre – Aumenta le prestazioni nella corrispondenza dei pattern nelle ricerche di codice.
- imagick – Fornisce una migliore qualità dell'immagine per i caricamenti multimediali. Vedi WP_Image_Editor is incoming! per dettagli. Ridimensionamento più intelligente delle immagini (per immagini più piccole) e supporto per miniature PDF, quando Ghost Script è anche disponibile.
- xml – Utilizzato per il parsing XML, ad esempio da un sito di terze parti.
Elenca anche le seguenti estensioni PHP come opzionali:
- gd – Se Imagick non è installato, la libreria grafica GD viene utilizzata come fallback funzionalmente limitato per la manipolazione delle immagini.
- mcrypt – Genera byte casuali quando libsodium non è disponibile.
- xmlreader – Utilizzato per il parsing XML.
- zlib – Compressione e decompressione Gzip.

Eh, mi chiedo cosa c'entri mod_xml
con tutto questo dato che il core non implementa né le sitemap XML né è legato all'esecuzione su un server web specifico.

Nota: bcmath
è stato rimosso da quella lista nella pagina da quando è stata data questa risposta.

Se stai utilizzando Debian 7 (Debian Wheezy), devi installare PHP stesso e un piccolo numero di estensioni. La maggior parte di quanto menzionato da @Rarst è già incluso in una delle installazioni PHP più basilari di Debian.
PHP
Hai quattro opzioni in Debian Wheezy: libapache2-mod-php5, libapache2-mod-php5filter, php5-cgi, o php5-fpm. Io scelgo php5-fpm ma tutto dipende da come vuoi che il tuo server web e PHP interagiscano.
MySQL
Hai anche bisogno che PHP utilizzi MySQL. Le tue opzioni sono php5-mysql e php5-mysqlnd. php5-mysqlnd è nativo e generalmente più veloce. Alcuni potrebbero scegliere un'alternativa come MariaDB.
Libreria grafica Opzionale
Se vuoi ridimensionare le immagini, puoi installare php5-gd o php5-imagick. php5-imagick ti darà una qualità migliore e Wordpress lo utilizzerà se disponibile. Se entrambi sono installati, verrà utilizzato php5-imagick. Se nessuno dei due è installato, le immagini non verranno ridimensionate (e Wordpress non si lamenterà).
HTTP Opzionale
Se installi php5-curl, verrà utilizzato ma non è richiesto per nulla tranne forse per prestazioni migliori.
Nient'altro è richiesto da Wordpress e dalla maggior parte delle estensioni, anche se alcune estensioni potrebbero avere altri requisiti.
Ecco la riga di installazione completa di base per dare a Wordpress tutto ciò di cui ha bisogno per prestazioni ottimali e niente di più:
apt-get install php5-fpm php5-mysqlnd php5-imagick php5-curl

Una piccola "cheatsheet" per l'installazione di PHP per WordPress su Debian:
0. Aggiungere il repository dotdeb
Aggiungi queste due righe al tuo file /etc/apt/sources.list
:
deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all
Aggiungi la chiave GPG:
wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg
Aggiorna la "lista dei pacchetti":
sudo apt-get update
1. Installare PHP 7:
apt-get install php7.0-common libapache2-mod-php7.0 php7.0-cli
Fonte: http://php.net/manual/en/install.unix.debian.php
2. Lista dei moduli inclusi nel pacchetto "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
Fonte: https://packages.debian.org/sid/amd64/php7.0-common/filelist
3. Per installare i moduli aggiuntivi richiesti/consigliati da WordPress:
apt-get install php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-pspell php7.0-zip
Fonte: https://wordpress.stackexchange.com/a/42141/107878
4. Non sono riuscito a trovare i seguenti su Debian:
Openssl
Path Info Check
Zlib
5. Il comando "apt-cache search php7" restituisce:
php7.0 - linguaggio di scripting incorporato HTML, lato server (metapacchetto)
php7.0-apcu - APC User Cache per PHP
php7.0-apcu-bc - Modulo di compatibilità all'indietro per APCu
php7.0-bcmath - Modulo Bcmath per PHP
php7.0-bz2 - modulo bzip2 per PHP
php7.0-cgi - linguaggio di scripting incorporato HTML, lato server (binario CGI)
php7.0-cli - interprete da riga di comando per il linguaggio di scripting PHP
php7.0-common - documentazione, esempi e modulo comune per PHP
php7.0-curl - modulo CURL per PHP
php7.0-dba - modulo DBA per PHP
php7.0-dbg - Simboli di debug per PHP7.0
php7.0-dev - File per lo sviluppo di moduli PHP7.0
php7.0-enchant - Modulo Enchant per PHP
php7.0-fpm - linguaggio di scripting incorporato HTML, lato server (binario FPM-CGI)
php7.0-gd - modulo GD per PHP
php7.0-geoip - modulo GeoIP per PHP
php7.0-gmp - modulo GMP per PHP
php7.0-igbinary - serializzatore igbinary per PHP
php7.0-imagick - Fornisce un wrapper per la libreria ImageMagick
php7.0-imap - modulo IMAP per PHP
php7.0-interbase - modulo Interbase per PHP
php7.0-intl - modulo di internazionalizzazione per PHP
php7.0-json - modulo JSON per PHP
php7.0-ldap - modulo LDAP per PHP
php7.0-mbstring - modulo MBSTRING per PHP
php7.0-mcrypt - modulo libmcrypt per PHP
php7.0-memcached - modulo di estensione memcached per PHP, utilizza libmemcached
php7.0-mongodb - driver MongoDB per PHP
php7.0-msgpack - serializzatore MessagePack per PHP
php7.0-mysql - modulo MySQL per PHP
php7.0-odbc - modulo ODBC per PHP
php7.0-opcache - modulo Zend OpCache per PHP
php7.0-pgsql - modulo PostgreSQL per PHP
php7.0-phpdbg - linguaggio di scripting incorporato HTML, lato server (binario PHPDBG)
php7.0-pspell - modulo pspell per PHP
php7.0-readline - modulo readline per PHP
php7.0-recode - modulo recode per PHP
php7.0-redis - Estensione PHP per interfacciarsi con Redis
php7.0-snmp - modulo SNMP per PHP
php7.0-soap - modulo SOAP per PHP
php7.0-sqlite3 - modulo SQLite3 per PHP
php7.0-ssh2 - Binding per la libreria libssh2
php7.0-sybase - modulo Sybase per PHP
php7.0-tidy - modulo tidy per PHP
php7.0-xdebug - Modulo Xdebug per PHP
php7.0-xml - modulo DOM, SimpleXML, WDDX, XML e XSL per PHP
php7.0-xmlrpc - modulo XMLRPC-EPI per PHP
php7.0-xsl - modulo XSL per PHP (dummy)
php7.0-zip - modulo Zip per PHP
Riferimento: https://packages.debian.org/source/sid/php7.0

Ufficialmente, WordPress.org afferma che solo le seguenti estensioni PHP sono richieste a partire da WP Core 5.3+ e quando si utilizza la versione consigliata di PHP, attualmente PHP 7.2:
curl -- Esegue operazioni di richiesta remota.
dom -- Utilizzato per convalidare il contenuto dei widget di testo e per configurare automaticamente IIS7+.
exif -- Lavora con i metadati archiviati nelle immagini.
fileinfo -- Utilizzato per rilevare il mimetype dei file caricati.
hash -- Utilizzato per l'hashing, inclusi password e pacchetti di aggiornamento.
json -- Utilizzato per le comunicazioni con altri server.
mbstring -- Utilizzato per gestire correttamente il testo UTF8.
mysqli -- Si connette a MySQL per le interazioni con il database.
libsodium -- Convalida le firme e fornisce byte casuali in modo sicuro.
openssl -- Consente connessioni SSL ad altri host.
pcre -- Aumenta le prestazioni della corrispondenza dei modelli nelle ricerche di codice.
imagick -- Fornisce una migliore qualità dell'immagine per i caricamenti multimediali. Vedi WP_Image_Editor è in arrivo! per i dettagli. Ridimensionamento più intelligente delle immagini (per immagini più piccole) e supporto per miniature PDF, quando Ghost Script è disponibile.
xml -- Utilizzato per l'analisi XML, ad esempio da un sito di terze parti.
zip -- Utilizzato per decomprimere plugin, temi e pacchetti di aggiornamento di WordPress.
...ma raccomandano anche le seguenti estensioni opzionali:
filter -- Utilizzato per filtrare in modo sicuro l'input dell'utente.
gd -- Se Imagick non è installato, la libreria grafica GD viene utilizzata come alternativa funzionalmente limitata per la manipolazione delle immagini.
iconv -- Utilizzato per convertire tra set di caratteri.
mcrypt -- Genera byte casuali quando libsodium e /dev/urandom non sono disponibili.
simplexml -- Utilizzato per l'analisi XML.
xmlreader -- Utilizzato per l'analisi XML.
zlib -- Compressione e decompressione Gzip.
Tieni presente, tuttavia, che alcune di queste estensioni richieste (o opzionali) sono già incluse in altri pacchetti PHP. Ad esempio, dom
è spesso incluso nell'estensione xml
. E altre come fileinfo
sono probabilmente già installate come parte di un cosiddetto pacchetto php-common
se stai utilizzando Ubuntu, ecc.
Inoltre, ci sono alcune altre estensioni come bcmath
che non sono ufficialmente richieste o raccomandate da WordPress, ma sono comunque utilizzate da molti plugin popolari, come Yoast SEO.
Puoi seguire la nostra lista delle estensioni PHP per WordPress su LittleBizzy se sei interessato.

sono necessarie le estensioni mysqli, pdo e gd. e a volte xml-rpc.
Sto utilizzando WP con l'estensione nativa mysqlnd da un po' di tempo ed è davvero interessante. Ha funzionalità di reflection integrate, quindi se vuoi vedere cosa succede con il database in quella specifica richiesta, puoi farlo.
zip come estensione non è necessaria, la maggior parte dei programmi chiama l'eseguibile zip di sistema.
