Come risolvere l’errore “Your PHP Installation Appears to Be Missing the MySQL Extension”
Se vedi il messaggio “Your PHP installation appears to be missing the MySQL extension which is required by WordPress”, significa che PHP non ha il modulo necessario per comunicare con il database MySQL. Senza questa estensione, WordPress non può funzionare. In questa guida ti spiego le cause di questo errore e come risolverlo sui diversi ambienti server.
Perché compare questo errore
WordPress ha bisogno dell’estensione MySQLi (o PDO MySQL) per connettersi al database. Questo errore compare quando l’estensione non è installata o non è abilitata nella configurazione di PHP. Le cause più comuni sono:
- Aggiornamento di PHP: il server è stato aggiornato a una nuova versione di PHP e le estensioni non sono state reinstallate automaticamente.
- Cambio versione PHP: hai cambiato la versione di PHP dal pannello hosting senza verificare che le estensioni necessarie fossero attive.
- Installazione PHP incompleta: su un VPS, PHP è stato installato senza il pacchetto delle estensioni MySQL.
- File php.ini corrotto: la configurazione di PHP non carica correttamente le estensioni.
Verificare le estensioni PHP attive
Prima di tutto, controlla quali estensioni PHP sono attualmente caricate. Crea un file info.php nella cartella principale del sito:
<?php phpinfo(); ?>
Apri il file nel browser e cerca “mysqli” nella pagina. Se trovi una sezione dedicata a MySQLi con i dettagli della configurazione, l’estensione è attiva e il problema è altrove. Se non la trovi, l’estensione non è installata o non è abilitata. Ricorda di eliminare questo file dopo il controllo perché espone informazioni sensibili sulla configurazione del server.
Soluzione su hosting condiviso
Se usi un hosting condiviso, la soluzione è quasi sempre un cambio di versione PHP dal pannello di controllo. Su cPanel, vai su Select PHP Version o MultiPHP Manager. Verifica che la versione di PHP sia compatibile con WordPress (PHP 7.4 o superiore, consigliato PHP 8.1 o 8.2) e che l’estensione mysqli sia spuntata nella lista delle estensioni.
Su Plesk, vai su Impostazioni PHP del dominio e controlla la versione attiva. Nella sezione estensioni, assicurati che mysqli e pdo_mysql siano abilitate. Salva le impostazioni e ricarica il sito.
Soluzione su VPS con Ubuntu/Debian
Su un server con Ubuntu o Debian, installa l’estensione MySQLi per la versione di PHP in uso:
# Per PHP 8.2 apt install php8.2-mysql -y # Per PHP 8.1 apt install php8.1-mysql -y # Riavviare PHP-FPM systemctl restart php8.2-fpm
Se usi Apache invece di Nginx con PHP-FPM:
systemctl restart apache2
Dopo l’installazione, verifica che l’estensione sia caricata con il comando php -m | grep mysqli. Se il comando restituisce “mysqli”, l’estensione è attiva.
Soluzione su CentOS/RHEL
Su server CentOS o RHEL, il pacchetto ha un nome leggermente diverso:
# Per PHP 8.2 (con il repository Remi) dnf install php82-php-mysqlnd -y # Riavviare PHP-FPM systemctl restart php82-php-fpm
Su CentOS il modulo MySQL per PHP si chiama mysqlnd (MySQL Native Driver) e include sia MySQLi che PDO MySQL. Dopo l’installazione, riavvia il servizio PHP-FPM e verifica con php -m.
Abilitare l’estensione nel php.ini
In alcuni casi l’estensione è installata ma non abilitata nel file php.ini. Trova il file php.ini attivo con il comando php –ini e verifica che contenga la riga:
extension=mysqli
Se la riga è presente ma commentata (con un punto e virgola iniziale), rimuovi il punto e virgola per abilitarla:
; extension=mysqli <-- disabilitata extension=mysqli <-- abilitata
Dopo la modifica, riavvia PHP-FPM o Apache. Se il file php.ini non contiene la riga, aggiungila nella sezione delle estensioni.
Quando il problema è la versione di PHP troppo vecchia
Le versioni di PHP precedenti alla 7.0 usavano l’estensione mysql_* (senza la “i”), che è stata rimossa completamente da PHP 7.0 in poi. Se il tuo server usa ancora PHP 5.6 o precedente, WordPress moderno non funzionerà. La soluzione è aggiornare PHP ad almeno la versione 7.4, idealmente alla 8.1 o 8.2. WordPress richiede ufficialmente PHP 7.4 come versione minima, ma consiglia PHP 8.1 o superiore per le migliori prestazioni e sicurezza.
Altre estensioni PHP richieste da WordPress
Oltre a MySQLi, WordPress richiede o consiglia diverse altre estensioni PHP per funzionare correttamente. Le più importanti sono: curl (per le richieste HTTP esterne), gd o imagick (per l’elaborazione delle immagini), mbstring (per i caratteri multibyte), xml (per i feed RSS e le sitemap), zip (per l’installazione di plugin e temi) e intl (per la localizzazione). Se manca una di queste estensioni, WordPress potrebbe funzionare parzialmente ma con errori in specifiche funzionalità. Su Ubuntu, puoi installarle tutte insieme con:
apt install php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-intl php8.2-imagick -y
Verificare dopo la correzione
Dopo aver installato o abilitato l’estensione MySQLi, ricarica il tuo sito WordPress. Se la configurazione è corretta, il sito si caricherà normalmente. Se l’errore persiste, verifica di aver riavviato il servizio PHP corretto (PHP-FPM o Apache) e che la versione di PHP usata dal sito web sia la stessa in cui hai installato l’estensione. Su alcuni server con più versioni di PHP installate, il terminale e il server web possono usare versioni diverse.
Serve assistenza tecnica?
Se non riesci a risolvere l’errore dell’estensione MySQL o hai bisogno di aggiornare la versione di PHP sul tuo server, il team di SoccorsoWP può intervenire rapidamente per ripristinare il funzionamento del sito. Apri un ticket e torna online senza stress.