in How To

How to: phpMyAdmin – The mbstring extension is missing.

Devo dire che non ho mai amato phpMyAdmin ma in alcune occasioni mi sono trovato costretto a gestire dei database attraverso questo sistema.

Visto che ho sempre palesato la mia poca simpatia nei confronti di phpMyAdmin trovo divertente che anche lui, neanche fosse una persona, faccia il possibile per evitare di girare al meglio.

All’avvio si presenta il messaggio di errore

The mbstring extension is missing. 

Ovviamente il problema non riguarda phpMyAdmin ma la configurazione PHP.

Risolviamo il problema andando ad installare nel sistema il modulo mbstring mancante.

Per installare il modulo mbstring sarà sufficiente utilizzare il comando

sudo apt-get install php-mbstring

o se dovesse essere necessario installare il modulo per un versione specifica di PHP occorre indicarla nel comando seguendo questo formato phpX.Y-mysqli. Ad esempio per la versione 7.2 il comando esatto è

sudo apt-get install php7.2-mbstring

Oltre a installare la libreria nel sistema occorre anche abilitare il modulo nella configurazione PHP.

La lista dei moduli PHP caricati è indicata nel file php.ini.

Verifichiamo quale file php.ini viene utilizzato attraverso il comando

php --ini

che indicherà tutti i file ini utilizzati da PHP.

Configuration File (php.ini) Path: /etc/php/7.2/cli
Loaded Configuration File:         /etc/php/7.2/cli/php.ini
Scan for additional .ini files in: /etc/php/7.2/cli/conf.d
Additional .ini files parsed:      /etc/php/7.2/cli/conf.d/10-opcache.ini,
/etc/php/7.2/cli/conf.d/10-pdo.ini,
/etc/php/7.2/cli/conf.d/20-calendar.ini,
/etc/php/7.2/cli/conf.d/20-ctype.ini,
/etc/php/7.2/cli/conf.d/20-exif.ini,
/etc/php/7.2/cli/conf.d/20-fileinfo.ini,
/etc/php/7.2/cli/conf.d/20-ftp.ini,
/etc/php/7.2/cli/conf.d/20-gettext.ini,
/etc/php/7.2/cli/conf.d/20-iconv.ini,
/etc/php/7.2/cli/conf.d/20-json.ini,
/etc/php/7.2/cli/conf.d/20-phar.ini,
/etc/php/7.2/cli/conf.d/20-posix.ini,
/etc/php/7.2/cli/conf.d/20-readline.ini,
/etc/php/7.2/cli/conf.d/20-shmop.ini,
/etc/php/7.2/cli/conf.d/20-sockets.ini,
/etc/php/7.2/cli/conf.d/20-sysvmsg.ini,
/etc/php/7.2/cli/conf.d/20-sysvsem.ini,
/etc/php/7.2/cli/conf.d/20-sysvshm.ini,
/etc/php/7.2/cli/conf.d/20-tokenizer.ini

Apriamo il file /etc/php/7.2/cli/php.ini utilizzando

nano /etc/php/7.2/cli/php.ini

Nel file cerchiamo il testo ;extension=mbstring.

La riga della configurazione è così riportata

;extension=mbstring

Eliminiamo il commento cancellando il carattere “;” all’inizio della riga

extension=mbstring

e salviamo il file.

A questo punto procediamo con il riavvio di Apache in modo da ricaricare la configurazione PHP aggiornata

apachectl restart

e godetevi il database remoto!

Comunque a me continua a non piacere…

Scrivi un commento

Commento