PHPMyAdmin, che succede?

23 Luglio 2020

Non seguo da vicino lo sviluppo di PHPMyAdmin, ma lo uso quotidianamente e da qualche tempo, con il rilascio della versione 4.6.6 ho notato diversi avvisi ed errori, che non impediscono l’utilizzo del programma ma lo ostacolano, parecchio.
Ho indagato e ho scoperto che questi errori non sono imputabili interamente a PHPMyAdmin, ma sono generati dalla non completa compatibilità tra PHPMyAdmin e PHP versione 7.2. Fortunatamente sono errori di facile risoluzione; basta modificare leggermente il codice di alcune librerie di PHPMyAdmin.

Gli errori

Ho riscontrato due tipi di errori; il primo compare ogni volta che si apre una tabella:

Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable

Si risolve andando a modificare il citato file sql.lib.php e modificando questa riga di codice:

(count($analyzed_sql_results[‘select_expr’] == 1)

Sostituendola con questa:

((count($analyzed_sql_results[‘select_expr’]) == 1)

Salva ed esci dal file. Non resta che riavviare Apache per completare la procedura.

Il secondo errore appare invece nelle schede Esporta e Importa ed è simile al primo come messaggio di errore:

Warning in ./libraries/plugin_interface.lib.php#551 count(): Parameter must be an array or an object that implements Countable

Anche per risolvere questo errore è necessario modificare il file che compare nel messaggio, ovvero plugin_interface.lib.php. Anche per questo errore si tratta di modificare leggermente una sola riga di codice, questa:

if (! is_null($options) && count($options) > 0) {

Se non trovi questa riga di codice, prova a cercare, in alternativa questa:

if ($options != null && count($options) > 0)

andandola a modificare, in ogni caso così:

if (! is_null($options) && count((array)$options) > 0) {

Al riavvio di Apache, finalmente, ti sarai liberato di quei fastidiosi messaggi di errore.


X
THE END