Fiz upload do backup para uma tabela, abrindo a tabela, vejo o seguinte:
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)
Por dentro do phpMyAdmin ...
PHP é 7.2, o servidor é Ubuntu 16.04, instalado ontem.
Procurando vi que alguns têm esse erro em seu código, mas não encontrei ninguém que o recebeu no phpMyAdmin ...
O que devo fazer? Esse erro foi meu? Um erro do phpmyadmin? aguarde atualização? Volto ao PHP 7.1?
phpmyadmin
countable
alebal
fonte
fonte
if ( count($articles)){..}
no CodeIgniter , devem usar:if ( count((array)$articles)){..}
como aqui #Respostas:
Edite o arquivo
/usr/share/phpmyadmin/libraries/sql.lib.php
usando este comando:Na linha 613, a função de contagem sempre é avaliada como verdadeira, pois não há parênteses de fechamento depois
$analyzed_sql_results['select_expr']
. Fazer as substituições abaixo resolve isso, então você precisará excluir o último parêntese de fechamento na linha 614, pois agora é um parêntese extra.Substituir:
Com:
Reinicie o servidor apache:
fonte
Error in processing request Error code: 500 Error text: Internal Server Error
. A solução do @Chandra Nakka resolveu o meu problema.Método mais fácil:
Basta executar esta linha de comando abaixo no terminal e voltar ao PhpMyAdmin. Agora funciona bem :)
Método manual:
Abra o arquivo sql.lib.php
Encontre o
count($analyzed_sql_results['select_expr']
código no arquivo. Você pode obter isso na linha ~ 613 . Você pode ver isso abaixo código erradoApenas substitua esse código errado por este abaixo
Salve o arquivo e acesse o PhpMyAdmin .
fonte
nano +613 filename
para levá-lo diretamente à linha específica.Encontrei este erro PHP 7.2 count () - SYNTAX no sql.lib.php
Isso funciona perfeitamente na minha configuração:
Aberto
/usr/share/phpmyadmin/libraries/sql.lib.php
Alterar linha : mova parênteses antes de ==
no
fonte
server error
. A resposta do @ loquace deve ser a única a ser aceita.testado no Debian, deve funcionar no Ubuntu:
1.) Primeiro baixe o arquivo phpMyadmin mais recente.
2.) Exclua (faça um backup) de todos os arquivos da versão anterior, localizados no
/usr/share/phpmyadmin
diretório3.) Descompacte para
/usr/share/phpmyadmin/
diretório todos os arquivos do último phpmyadmin.4.) Modifique o arquivo
libraries/vendor_config.php
e altere a linha:para
e
para
5.) reinicie o servidor apache e pronto.
fonte
mkdir /usr/share/phpmyadmin/tmp; chgrp www-data tmp; chmod g+w tmp;
/usr/share/phpmyadmin
funcionar. Não foi necessário seguir as etapas posteriores.Editar arquivo :
'/usr/share/phpmyadmin/libraries/sql.lib.php'
Substitua :
(count($analyzed_sql_results['select_expr'] == 1)
Com :
(count($analyzed_sql_results['select_expr']) == 1
isso funcionou para mim
fonte
fonte
Se alguém tiver um erro semelhante na página de exportação do banco de dados (eu tive esse problema no Ubuntu 18.04), substitua a linha 551 no arquivo
/usr/share/phpmyadmin/libraries/plugin_interface.lib.php
pelo códigofonte
if ($options != null && count($options) > 0) {
por:if ($options != null) {
então você pode exportarO phpmyadmin 4.7.4 deve ter "Corrigido vários problemas de compatibilidade com o PHP 7.2"
Provavelmente, você possui uma versão mais antiga do phpmyadmin.
https://www.phpmyadmin.net/news/2017/8/24/phpmyadmin-474-released/
fonte
Siga as etapas abaixo no ubuntu-18.04:
Etapa 1) localize
sql.lib.php
Ele mostrará algo como:
Etapa 2) Abra o terminal (Alt t) e escreva:
Etapa 3)
sudo gedit /usr/share/phpmyadmin/libraries/sql.lib.php
e pesquise abaixo da função:Etapa 4) Substitua a função acima por:
Etapa 4) Salvar e fechar o arquivo e o comando abaixo no terminal
Etapa 5)
sudo service mysql reload
Etapa 6)
sudo service apache2 reload
Funciona para mim .. Goodluck
|| (count($analyzed_sql_results['select_expr']) == 1
além disso, se você ainda está enfrentando o mesmo problema, faça o seguinte.
substitua pelo seguinte código
agora salve e reinicie o servidor
fonte
Eu acho que a melhor opção é atualizar o Phpmyadmin para uma versão que já esteja corrigida.
Até que seja publicado como deb, você pode fazê-lo como na resposta @ crimson-501, que copiarei abaixo:
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"
Deixe-me explicar os argumentos desse comando, -P define o caminho e "o link.zip" é atualmente (7/17/18 ) a versão mais recente do PMA. Você pode encontrar esses links AQUI .apt-get install unzip
):unzip phpMyAdmin-4.9.4-english.zip
. Acabamos de descompactar o PMA, agora o moveremos para o seu lar final.cp
comando (copy) para mover nossos arquivos! Observe que temos que adicionar o-r
argumento, pois esta é uma pasta.cp -r phpMyAdmin-4.9.4-english phpmyadmin
.rm -rf phpMyAdmin-4.9.4-english
.Continue lendo!
Agora você pode perceber dois erros depois de fazer login no PMA.
No entanto, esses problemas são relativamente fáceis de corrigir. Para a primeira edição, tudo o que você precisa fazer é pegar o editor de sua escolha e editar,
/usr/share/phpmyadmin/config.inc.php
mas há um problema, nós o removemos! Tudo bem, tudo o que você precisa fazer é:cd /usr/share/phpmyadmin
&cp config.sample.inc.php config.inc.php
.nano config.inc.php
e copie o segredo gerado dinamicamente na parte inferior desta página: https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator .Exemplo de entrada variável secreta do phpMyAdmin Blowfish:
Agora salve e feche o arquivo.
mkdir tmp
&chown -R www-data:www-data /usr/share/phpmyadmin/tmp
. O último comando permite que o servidor da web Apache possua o diretório tmp e edite seu conteúdo.fonte
Tente substituir esta função no arquivo: /usr/share/phpmyadmin/libraries/sql.lib.php
fonte
Ubuntu 18.04 LTS
Estes são os passos que funcionaram para mim. Muito obrigado a William Desportes por fornecer as atualizações automáticas no PPA do Ubuntu.
Passo 1 ( de William Desportes pós )
$
sudo add-apt-repository ppa:phpmyadmin/ppa
Etapa 2
$
sudo apt-get --with-new-pkgs upgrade
Etapa 3
$
sudo service mysql restart
Se você tiver problemas para reiniciar o mysql, também poderá reiniciar com a seguinte sequência
$
sudo service mysql stop;
$
sudo service mysql start;
fonte
Ubuntu 18.10 (dezembro de 2018)
Linhas 613, 614, 615, substitua por:
fonte
Trabalhe para mim .. Ubuntu 18.04
Encontre o
count($analyzed_sql_results['select_expr']
código no arquivo. Você pode obter isso na linha ~ 613.Apenas substitua pelo código:
Salve o arquivo e recarregue o PhpMyAdmin.
Feito!!!
fonte
|| (count($analyzed_sql_results['select_expr']) == 1
Na minha versão do phpmyadmin (4.6.6deb5), encontrei a linha 613 e percebi que os parênteses count () não estavam fechados corretamente. Para corrigir isso temporariamente até a próxima versão, basta alterar:
para:
fonte
Isso foi corrigido nas versões posteriores do PHPMyAdmin. Os repositórios de software Ubuntu para Ubuntu 18.04.2 contêm a versão 4.6.6.5, enquanto estão atualmente na 4.9.0.1. A atualização da instalação do PHPMyAdmin corrigirá esse problema, mas pode ser mais arriscado do que apenas editar essa linha de código. Aqui está como eu fiz isso no meu Ubuntu Server. As etapas são essencialmente as mesmas (com um caminho diferente) para todos os sistemas operacionais.
Verifique se funciona. Caso contrário, você ... Você tem um backup, restaure-o e edite manualmente a linha com defeito. Em minha própria experiência pessoal, descobri depois de fazer isso que a versão 4.6.6.5 não estava apenas cheia de bugs, mas também incrivelmente lenta em comparação com a nova 4.9.0.1. O aumento de velocidade foi pura magia para algo que eu pensava ser de qualidade "WordPress".
fonte
Funciona no UBUNTU 16.04.3 Basta abrir
usr / share / libraries / sql.lib.php
modificar
|| (count($analyzed_sql_results['select_expr'] == 1)
Para
|| ((count($analyzed_sql_results['select_expr']) == 1)
fonte
Atualize para o phpMyAdmin 4.8.3. isso resolve os problemas de compatibilidade do PHP 7.2
fonte
|| ((count($analyzed_sql_results['select_expr']) == 1
Foi isso que mudei na linha 614 e o phpmyadmin funciona sem nenhum erro. Precisa de um
(
antes da contagem e um)
antes==
. É isso aí.fonte
Editar arquivo '/usr/share/phpmyadmin/libraries/sql.lib.php' Substitua: (faça backup)
Com:
fonte
Oi o seguinte resolver absolutamente meu mesmo problema (importação / exportação e assim por diante):
Correção do bug Phpmyadmin [plugin_interface.lib.php] + Php7.2 + Ubuntu 16.04
então ... no ubuntu 18.04, mysql, php7.2: Terminal:
Encontre a seguinte linha (ctrl + f):
estava na linha # 551 para mim
e mude para o seguinte:
ctrl + s para salvar as alterações
e no terminal: ctrl + c para voltar promt ...
e:
sudo systemctl restart apache2
"Acho que na nova versão php. Não é possível usar count () ou sizeof () com um tipo de matriz. Forçar parâmetro ao array é uma maneira fácil de resolver esse bug, ..."
Obrigado pelo autor original pela solução do problema! Eu tento compartilhar!
fonte
Abra o
/usr/share/phpmyadmin/sql.lib.php
arquivo com privilégios elevados e edite o seguinte na funçãoPMA_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] == '*'))
Reinicie o servidor Apache:
sudo service apache2 restart
.Testado no Linux Mint 19.1 baseado no Ubuntu 18.04, com PhpMyAdmin 4.6.6 e PHP 7.2.
fonte
Eu tentei todas as soluções acima, mas não funcionou para mim.
Experimente o seguinte: -
Instale a versão necessária do PHP (no meu caso 7.0) e, em seguida, no terminal, digite
A saída será assim: -
Então você pode mudar para qualquer versão do PHP simplesmente digitando o número da seleção (no meu caso 1).
Espero que isso possa ajudar outros - :)
fonte
Eu tive esse problema ao usar o Windows e as respostas acima o resolveram para mim, no entanto, quando mudei para o linux (ubuntu 18.04 LTS), tive o mesmo problema e não consegui descobrir como resolvê-lo porque não via o arquivo '/usr/share/phpmyadmin/libraries/sql.lib.php'.
Este arquivo sql.lib.php não estava na pasta de compartilhamento ou na pasta phpmyadmin / libraries do meu diretório / opt / lampp - desde que eu estava usando o xampp no meu ubuntu. Com base na atualização feita no xampp (porque usei a instalação mais recente a partir de agora).
A resposta ainda está para substituir:
(count($analyzed_sql_results['select_expr'] == 1)
Com:
(count($analyzed_sql_results['select_expr']) == 1
No entanto, o arquivo a procurar é
Sql.php
encontrado em/opt/lampp/phpmyadmin/libraries/classes/Sql.php
Atualizações futuras ou se você ainda não a encontrar: use
grep -r 'count($analyzed_sql_results' /opt/lampp/phpmyadmin
para procurar documentos correspondentes em seu diretório e editar de acordofonte
Substituir Função:
fonte
Editar arquivo
/usr/share/phpmyadmin/libraries/sql.lib.php
Ver um erro no seu erro
vá para esta linha e remova a chamada de função.
Funciona para mim.
fonte
Vejo que todos vocês estão editando ou atualizando de nossos arquivos
Para quem deseja atualizações automáticas, você pode usar o nosso PPA Ubuntu
sudo add-apt-repository ppa: phpmyadmin / ppa
E para usuários do Debian, você precisará esperar pela próxima versão do Debian ou usar o PPA
O Ubuntu 20 possui o phpMyAdmin 4.9 ou uma versão posterior
Problema do Debian em nosso rastreador
Problemas contáveis em nosso rastreador
Atualização do TLDR para a versão 4.9 ou 5.0 mais recente para resolver esse problema.
fonte
Isso funcionou bem para mim no Ubuntu 18.04 .
Abra o arquivo sql.lib.php
Substitua este código errado:
Com este:
Salve o arquivo.
Reinicie seu servidor com:
E atualize o PhpMyAdmin
fonte
No Ubuntu 18.04 com MariaDb e Nginx, resolvi-o com a atualização do arquivo /usr/share/phpmyadmin/libraries/sql.lib.php da seguinte maneira:
A resposta mencionada por @Nguyen gera um erro 500 dizendo:
fonte