He cargado la copia de seguridad en una tabla, abriendo la tabla, veo esto:
Warning in ./libraries/sql.lib.php#601
count(): Parameter must be an array or an object that implements Countable
Backtrace
./libraries/sql.lib.php#2038: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#1984: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./sql.php#216: PMA_executeQueryAndSendQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./index.php#53: include(./sql.php)
Dentro de phpMyAdmin ...
PHP es 7.2, el servidor es Ubuntu 16.04, instalado ayer.
Buscando, vi que algunos tienen este error en su código, pero no encontré a nadie que lo recibió en phpMyAdmin ...
¿Qué tengo que hacer? ¿Ese es mi error? ¿Un error de phpmyadmin? esperar actualización? Vuelvo a PHP 7.1?
phpmyadmin
countable
alebal
fuente
fuente
if ( count($articles)){..}
en CodeIgniter , deberían usar:if ( count((array)$articles)){..}
como aquíRespuestas:
Edite el archivo
/usr/share/phpmyadmin/libraries/sql.lib.php
con este comando:En la línea 613, la función de conteo siempre se evalúa como verdadera ya que no hay paréntesis de cierre después
$analyzed_sql_results['select_expr']
. Hacer los reemplazos a continuación resuelve esto, luego deberá eliminar el último paréntesis de cierre en la línea 614, ya que ahora es un paréntesis adicional.Reemplazar:
Con:
Reinicie el servidor apache:
fuente
Error in processing request Error code: 500 Error text: Internal Server Error
. La solución de @Chandra Nakka solucionó mi problema.Método más fácil:
Simplemente ejecute la siguiente línea de comando en la terminal y regrese a PhpMyAdmin. Ahora funciona bien :)
Método manual:
Abra el archivo sql.lib.php
Encuentre el
count($analyzed_sql_results['select_expr']
código en el archivo. Puede obtener esto en la línea ~ 613 . Puedes ver esto debajo del código incorrectoSimplemente reemplace ese código incorrecto con este debajo de uno
Guarda el archivo y ve a PhpMyAdmin .
fuente
nano +613 filename
para llevarte directamente a la línea específica.Encontré este PHP 7.2 count () - Error de SINTAXIS en sql.lib.php
Eso funciona perfectamente en mi configuración:
Abierto
/usr/share/phpmyadmin/libraries/sql.lib.php
Cambiar línea : mover paréntesis antes ==
en
fuente
server error
. La respuesta de @loquace debe ser la aceptada.probado en Debian, debería funcionar en Ubuntu:
1.) Primero descargue el último archivo phpMyadmin.
2.) Eliminar (hacer una copia de seguridad) todo el archivo de versión anterior ubicado en el
/usr/share/phpmyadmin
directorio.3.) Descomprima al
/usr/share/phpmyadmin/
directorio todos los archivos del último phpmyadmin.4.) Modificar archivo
libraries/vendor_config.php
y cambiar línea:a
y
a
5.) reinicie el servidor apache y listo.
fuente
mkdir /usr/share/phpmyadmin/tmp; chgrp www-data tmp; chmod g+w tmp;
/usr/share/phpmyadmin
funcione. No necesitaba seguir los pasos posteriores.Editar archivo :
'/usr/share/phpmyadmin/libraries/sql.lib.php'
Reemplazar :
(count($analyzed_sql_results['select_expr'] == 1)
Con :
(count($analyzed_sql_results['select_expr']) == 1
esto funcionó para mí
fuente
fuente
Si alguien tiene un error similar en la página de exportación de DB (tuve este problema en Ubuntu 18.04), reemplace la línea 551 en el archivo
/usr/share/phpmyadmin/libraries/plugin_interface.lib.php
con el códigofuente
if ($options != null && count($options) > 0) {
con:if ($options != null) {
entonces puede exportarSe supone que phpmyadmin 4.7.4 "solucionó varios problemas de compatibilidad con PHP 7.2"
Lo más probable es que tenga una versión anterior de phpmyadmin.
https://www.phpmyadmin.net/news/2017/8/24/phpmyadmin-474-released/
fuente
Continúe siguiendo los pasos en ubuntu-18.04:
Paso 1) ubicar
sql.lib.php
Mostrará algo como:
Paso 2) Abra la terminal (Alt t) y escriba:
Paso 3)
sudo gedit /usr/share/phpmyadmin/libraries/sql.lib.php
y busque la siguiente función:Paso 4) Reemplace la función anterior con:
Paso 4) Guardar y cerrar el archivo y debajo del comando en la terminal
Paso 5)
sudo service mysql reload
Paso 6)
sudo service apache2 reload
Funciona para mí .. Buena suerte
|| (count($analyzed_sql_results['select_expr']) == 1
Además, si aún enfrenta el mismo problema, haga lo siguiente.
reemplazar con el siguiente código
ahora guarde y reinicie el servidor
fuente
Creo que la mejor opción es actualizar Phpmyadmin a una versión que ya lo haya solucionado.
Hasta que se publique como deb, puede hacerlo como en la respuesta @ crimson-501 que copiaré a continuación:
apt-get install phpmyadmin
.cd /usr/share
.rm -rf phpmyadmin
.apt-get install wget
):wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-english.zip"
Voy a explicar los argumentos de este comando, -P define la ruta y "el link.zip" es actualmente (07/17/18 ) la última versión de PMA. Puedes encontrar esos enlaces AQUÍ .apt-get install unzip
):unzip phpMyAdmin-4.9.4-english.zip
. Acabamos de descomprimir PMA, ahora lo trasladaremos a su hogar final.cp
comando (copiar) para mover nuestros archivos! Tenga en cuenta que tenemos que agregar el-r
argumento ya que esta es una carpeta.cp -r phpMyAdmin-4.9.4-english phpmyadmin
.rm -rf phpMyAdmin-4.9.4-english
.¡Sigue leyendo!
Ahora puede notar dos errores después de iniciar sesión en PMA.
Sin embargo, estos problemas son relativamente fáciles de solucionar. Para el primer problema, todo lo que tiene que hacer es tomar el editor de su elección y editarlo,
/usr/share/phpmyadmin/config.inc.php
pero hay un problema, lo eliminamos Está bien, todo lo que tienes que hacer es:cd /usr/share/phpmyadmin
&cp config.sample.inc.php config.inc.php
.nano config.inc.php
y copie el secreto generado dinámicamente desde el final de esta página: https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator .Ejemplo de entrada de variable secreta phpMyAdmin Blowfish:
Ahora guarde y cierre el archivo.
mkdir tmp
&chown -R www-data:www-data /usr/share/phpmyadmin/tmp
. El último comando permite que el servidor web Apache sea el propietario del directorio tmp y edite su contenido.fuente
Intente reemplazar esta función en el archivo: /usr/share/phpmyadmin/libraries/sql.lib.php
fuente
Ubuntu 18.04 LTS
Estos son los pasos que funcionaron para mí. Muchas, muchas gracias a William Desportes por proporcionar las actualizaciones automáticas en su PPA de Ubuntu.
Paso 1 ( de la publicación de William Desportes )
$
sudo add-apt-repository ppa:phpmyadmin/ppa
Paso 2
$
sudo apt-get --with-new-pkgs upgrade
Paso 3
$
sudo service mysql restart
Si tiene problemas para reiniciar mysql, también puede reiniciar con la siguiente secuencia
$
sudo service mysql stop;
$
sudo service mysql start;
fuente
Ubuntu 18.10 (diciembre de 2018)
Línea 613, 614, 615, reemplace con:
fuente
Trabaja para mí .. Ubuntu 18.04
Encuentre el
count($analyzed_sql_results['select_expr']
código en el archivo. Puede obtener esto en la línea ~ 613.Simplemente reemplace con el código:
Guarde el archivo y vuelva a cargar PhpMyAdmin.
¡¡¡Hecho!!!
fuente
|| (count($analyzed_sql_results['select_expr']) == 1
Para mi versión de phpmyadmin (4.6.6deb5), encontré la línea 613 y me di cuenta de que los paréntesis count () no se cerraron correctamente. Para arreglar esto temporalmente hasta la próxima versión, simplemente cambie:
a:
fuente
Esto se soluciona en versiones posteriores de PHPMyAdmin. Los repositorios de software de Ubuntu para Ubuntu 18.04.2 tienen la versión 4.6.6.5, mientras que actualmente están en 4.9.0.1. La actualización de su instalación de PHPMyAdmin solucionará este problema, pero podría resultar más riesgoso que simplemente editar esa línea de código. Así es como lo hice en mi servidor Ubuntu. Los pasos son esencialmente los mismos (con una ruta diferente) para todos los sistemas operativos.
Verifica que funcione. Si no es así, bueno ... Tiene una copia de seguridad, así que restaure y edite manualmente la línea defectuosa. En mi propia experiencia personal, descubrí después de hacer esto que la versión 4.6.6.5 no solo estaba plagada de errores, sino que también era increíblemente lenta en comparación con la nueva 4.9.0.1. El aumento de velocidad fue pura magia para algo que pensé que era de calidad "WordPress".
fuente
Funciona en UBUNTU 16.04.3 Solo abre
usr / share / bibliotecas / sql.lib.php
modificar
|| (count($analyzed_sql_results['select_expr'] == 1)
A
|| ((count($analyzed_sql_results['select_expr']) == 1)
fuente
Actualice a phpMyAdmin 4.8.3. esto resuelve los problemas de compatibilidad de PHP 7.2
fuente
|| ((count($analyzed_sql_results['select_expr']) == 1
Esto es lo que cambié en la línea 614 y phpmyadmin funciona sin ningún error. Necesito uno
(
antes de contar, y uno)
antes==
. Eso es.fuente
Edite el archivo '/usr/share/phpmyadmin/libraries/sql.lib.php' Reemplace: (haga una copia de seguridad)
Con:
fuente
Hola, los siguientes resuelven mi mismo problema absolutamente (importación / exportación, etc.):
Fix Bug Phpmyadmin [plugin_interface.lib.php] + Php7.2 + Ubuntu 16.04
entonces ... bajo ubuntu 18.04, mysql, php7.2: Terminal:
Encuentre la siguiente línea (ctrl + f):
estaba en la línea # 551 para mí
y cambiar por lo siguiente:
Ctrl + s para guardar los cambios
y en la terminal: ctrl + c para volver pronto ...
y:
sudo systemctl restart apache2
"Creo que en la nueva versión de php. No se puede usar count () o sizeof () con un tipo de matriz. Forzar parámetro a matriz es una manera fácil de resolver este error, ..."
¡Gracias por el autor original por la resolución del problema! ¡Intento compartirlo!
fuente
Abra el
/usr/share/phpmyadmin/sql.lib.php
archivo con privilegios elevados y edite lo siguiente en la funciónPMA_isRememberSortingOrder()
:|| count($analyzed_sql_results['select_expr'] == 1)
|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
&& ($analyzed_sql_results['select_expr'][0] == '*'))
Reiniciar el servidor Apache:
sudo service apache2 restart
.Probado en Linux Mint 19.1 basado en Ubuntu 18.04, con PhpMyAdmin 4.6.6 y PHP 7.2.
fuente
Intenté toda la solución anterior pero no funcionó para mí.
Prueba esto:-
Instale la versión requerida de PHP (en mi caso 7.0) y luego en la terminal, escriba
La salida será así: -
Luego puede cambiar a cualquier versión de PHP simplemente ingresando el número de selección (en mi caso 1).
Espero que esto pueda ayudar a otros - :)
fuente
Tuve este problema al usar Windows y las respuestas anteriores me lo resolvieron, sin embargo, cuando cambié a Linux (ubuntu 18.04 LTS) tuve el mismo problema y no pude encontrar la manera de resolverlo porque no vi el archivo '/usr/share/phpmyadmin/libraries/sql.lib.php'.
Este archivo sql.lib.php no estaba en la carpeta compartida ni en la carpeta phpmyadmin / collections de mi directorio / opt / lampp, ya que estaba usando xampp en mi ubuntu. Basado en la actualización realizada a la configuración de xampp (porque usé la última instalación a partir de ahora).
La respuesta aún está por reemplazar:
(count($analyzed_sql_results['select_expr'] == 1)
Con:
(count($analyzed_sql_results['select_expr']) == 1
Sin embargo, el archivo a buscar se
Sql.php
encuentra en/opt/lampp/phpmyadmin/libraries/classes/Sql.php
Actualizaciones futuras o si aún no lo encuentra: use
grep -r 'count($analyzed_sql_results' /opt/lampp/phpmyadmin
para buscar documentos coincidentes en su directorio y edite en consecuenciafuente
Reemplazar función:
fuente
Editar archivo
/usr/share/phpmyadmin/libraries/sql.lib.php
Ver un error en su error
vaya a esta línea y elimine la llamada a la función.
Esto funciona para mi.
fuente
Veo que todos están editando o actualizando desde nuestros archivos
Para aquellos que desean actualizaciones automáticas, pueden usar nuestro PPA de Ubuntu
sudo add-apt-repository ppa: phpmyadmin / ppa
Y para los usuarios de Debian, deberá esperar la próxima versión de Debian o usar PPA
Ubuntu 20 tiene phpMyAdmin 4.9 o una versión posterior
Problema de Debian en nuestro rastreador
Problemas contables en nuestro rastreador
Actualización de TLDR a la última versión 4.9 o 5.0 para resolver este problema.
fuente
Esto funcionó bien para mí en Ubuntu 18.04 .
Abra el archivo sql.lib.php
Reemplace este código incorrecto:
Con este:
Guarda el archivo.
Reinicie su servidor con:
Y actualiza PhpMyAdmin
fuente
En Ubuntu 18.04 con MariaDb y Nginx, lo resolví actualizando el archivo /usr/share/phpmyadmin/libraries/sql.lib.php de la siguiente manera:
La respuesta mencionada por @Nguyen arroja un error 500 diciendo:
fuente