Warnings en PHPMyAdmin y PHP7.2

Haciendo tests con el VPS monté una instalación con PHP 7.2 y un PHPMyAdmin instalado via apt-get. Tuve el problema que debía arreglar las vistas, pues me aparecía el siguiente error cuando hacía cualquier acción (ver tablas, contenidos de tabla… etc):

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

Decidí ir a la fuente del problema del warning, para ver si tenía fácil solución, por que cada vez que hacía una query, salía un error que ocupaba más de media pantalla. Para mi sorpresa fué muy sencillo

Para arreglarlo abre el archivo sql.lib.php con el editor que prefieras (en mi caso nano):

sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

Ahora hay que buscar la siguiente línea, en mi caso estaba en la 601 como marcaba el mensaje de error, para buscar con nano solo tienes que hacer ctrl + w e insertar un trozo del código:

|| (count($analyzed_sql_results['select_expr'] == 1)

Y reemplazalo con lo siguiente:

|| ((count($analyzed_sql_results['select_expr']) == 1)

Guarda el archivo. Si usas nano ya sabrás que es ctrl + o y luego salir con ctrl + x

Bonus track PhPMyAdmin – Warning en importaciones

Cuando aparentemente ya estaba solucionado el error, al intentar realizar una importación, me vi otro error distinto:

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

Pues la solución es muy parecida a antes, simplemente editar una línea y ya nos olvidamos. El problema es que antes de PHP7.2 daba igual si declarabas como array o no, pero aquí te lo exige para evitar el warning.

Lo que hay que hacer es reemplazar en el siguiente archivo

sudo nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php

La línea que contiene:

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

Por lo siguiente:

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

En cuanto declaremos la variable como array y guardes el archivo, recarga tu página de phpmyadmin y… adiós el warning.

A veces unos pequeños fallos en la programación nos pueden dar algún que otro dolor de cabeza. ¡Espero que os ayude!

3 comentarios de “Warnings en PHPMyAdmin y PHP7.2”

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.