problema con phpmyadmin: count(): Parameter must be an array

Installazione, configurazione e uso di programmi e strumenti.

problema con phpmyadmin: count(): Parameter must be an array

Messaggioda london3 » venerdì 18 gennaio 2019, 17:21

Mi collego a http://localhost/phpmyadmin/ e vado ad aprire una tabella di uno dei miei database, ma mi appare
https://cdn-images-1.medium.com/max/800 ... UOIn6A.png
Questo succede da quando ho aggiornato php alla versione 7.2.11-2+ubuntu16.04.1+deb.sury.org+1
Perchè?
london3
Prode Principiante
 
Messaggi: 121
Iscrizione: gennaio 2014

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda Luca Gasperini » venerdì 18 gennaio 2019, 18:58

Ciao!

Ho avuto lo stesso problema con Ubuntu 18.04 e PHP 7.2, il bug è dovuto alla versione di PhpMyAdmin che è presente nei repository di Ubuntu alla versione 4.6.6-5, la quale non è pienamente compatibile con le versioni più recenti di PHP.
In accordo con l'issue su GitHub è possibile aggiornare la versione di PhpMyAdmin alle più recenti ( almeno la 4.7.8 ) dove il bug è stato risolto, oppure modificare il codice di PhpMyAdmin nel seguente modo:
Codice: Seleziona tutto
#/dir/to/phpmyadmin/libraries/sql.lib.php

(count($analyzed_sql_results['select_expr'] == 1) // errore

(count($analyzed_sql_results['select_expr']) == 1  // fix

Spero che sia di aiuto!
Luca Gasperini - Sviluppatore Open Source per XSoftware
https://www.xsoftware.it / https://www.xsoftware.eu
luca.gasperini@xsoftware.it
Avatar utente
Luca Gasperini
Prode Principiante
 
Messaggi: 23
Iscrizione: gennaio 2019
Località: Roma
Desktop: Plasma
Distribuzione: Ubuntu 18.04 & ArchLinux x86_64
Sesso: Maschile

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda london3 » venerdì 18 gennaio 2019, 19:35

Luca Gasperini Immagine ha scritto:Ciao!

Ho avuto lo stesso problema con Ubuntu 18.04 e PHP 7.2, il bug è dovuto alla versione di PhpMyAdmin che è presente nei repository di Ubuntu alla versione 4.6.6-5, la quale non è pienamente compatibile con le versioni più recenti di PHP.
In accordo con l'issue su GitHub è possibile aggiornare la versione di PhpMyAdmin alle più recenti ( almeno la 4.7.8 ) dove il bug è stato risolto, oppure modificare il codice di PhpMyAdmin nel seguente modo:
Codice: Seleziona tutto
#/dir/to/phpmyadmin/libraries/sql.lib.php

(count($analyzed_sql_results['select_expr'] == 1) // errore

(count($analyzed_sql_results['select_expr']) == 1  // fix

Spero che sia di aiuto!

Come si fa l'aggiornamento?

https://devanswers.co/manually-upgrade-phpmyadmin/

https://stackoverflow.com/questions/200 ... ubuntu-how

Ognuno dice la sua...
london3
Prode Principiante
 
Messaggi: 121
Iscrizione: gennaio 2014

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda Luca Gasperini » venerdì 18 gennaio 2019, 20:20



Allora,

Tutti e due i metodi vanno bene, la differenza tra i due è che se lo installi manualmente non l'ho hai integrato con APT, infatti i package manager servono per gestire la vita dei software, se un giorno vorrai disinstallarlo, con apt ti basterà dare:
Codice: Seleziona tutto
sudo apt remove phpmyadmin

Altrimenti dovresti cancellare manualmente tutti i file di PhpMyAdmin, stessa cosa vale per i possibili aggiornamenti, se lo installi con APT se ci sono aggiornamenti puoi scaricarli automaticamente, senza dovresti rimpiazzare la directory di PhpMyAdmin quando vuoi aggiornarli.

Ora, il repository che hai linkato:
Codice: Seleziona tutto
sudo add-apt-repository ppa:nijel/phpmyadmin

Non l'ho testato, non so dirti se effettivamente sia ancora aggiornato (infatti il post è vecchio di 5 anni) o se esiste, quindi se scegli di installarlo da li dai anche:
Codice: Seleziona tutto
apt show nijel/phpmyadmin

Per controllare se la versione è superiore o uguale a quella che ti serve!
Luca Gasperini - Sviluppatore Open Source per XSoftware
https://www.xsoftware.it / https://www.xsoftware.eu
luca.gasperini@xsoftware.it
Avatar utente
Luca Gasperini
Prode Principiante
 
Messaggi: 23
Iscrizione: gennaio 2019
Località: Roma
Desktop: Plasma
Distribuzione: Ubuntu 18.04 & ArchLinux x86_64
Sesso: Maschile

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda london3 » venerdì 18 gennaio 2019, 21:42

Fammi capire.
Php 7.2 è uscito da qualche anno, ma phpmyadmin non l'hanno aggiornato.
Perchè?
london3
Prode Principiante
 
Messaggi: 121
Iscrizione: gennaio 2014

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda Luca Gasperini » venerdì 18 gennaio 2019, 21:54

london3 ha scritto:Fammi capire.
Php 7.2 è uscito da qualche anno, ma phpmyadmin non l'hanno aggiornato.
Perchè?

PhpMyAdmin è aggiornato, semplicemente la versione che trovi sui repository di Ubuntu è vecchia, per farti capire la versione attuale sul sito di PhpMyAdmin è 4.8.4, quella che trovi sui repository di Ubuntu 18.04 è la 4.6.6.
Ti consiglio di modificare la versione che trovi come scritto nel primo messaggio, se non vuoi pacchettizzare (cioè creare un pacchetto .deb) o comunque smanettare troppo per cercare una versione per Ubuntu che non abbia problemi con tutto il sistema di pacchetti.
Luca Gasperini - Sviluppatore Open Source per XSoftware
https://www.xsoftware.it / https://www.xsoftware.eu
luca.gasperini@xsoftware.it
Avatar utente
Luca Gasperini
Prode Principiante
 
Messaggi: 23
Iscrizione: gennaio 2019
Località: Roma
Desktop: Plasma
Distribuzione: Ubuntu 18.04 & ArchLinux x86_64
Sesso: Maschile

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda london3 » venerdì 18 gennaio 2019, 22:02

Luca Gasperini Immagine ha scritto:
london3 ha scritto:Fammi capire.
Php 7.2 è uscito da qualche anno, ma phpmyadmin non l'hanno aggiornato.
Perchè?

PhpMyAdmin è aggiornato, semplicemente la versione che trovi sui repository di Ubuntu è vecchia, per farti capire la versione attuale sul sito di PhpMyAdmin è 4.8.4, quella che trovi sui repository di Ubuntu 18.04 è la 4.6.6.


Perchè non aggiornano il repository?

Ti consiglio di modificare la versione che trovi come scritto nel primo messaggio, se non vuoi pacchettizzare (cioè creare un pacchetto .deb) o comunque smanettare troppo per cercare una versione per Ubuntu che non abbia problemi con tutto il sistema di pacchetti.


Modficare la versione?
Pacchettizzare?
Non sono molto bravo in queste cose, potresti essere un po' dettagliato?
london3
Prode Principiante
 
Messaggi: 121
Iscrizione: gennaio 2014

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda rai » sabato 19 gennaio 2019, 7:24

Perchè non aggiornano il repository?
dipende dalle politiche di ciascuna distribuzione. Ubuntu (Debian) nell'ambito di una stessa versione del SO fa solo aggiornamenti di sicurezza delle applicazioni perchè dà priorità alla stabilità.


Modficare la versione?
Per fare la modifica senza cambiare versione
Codice: Seleziona tutto
sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php

cerchi la riga da modificare (è molto in basso, conviene usare Ctrl+W per cercare) e la sostituisci come ti è stato scritto


Pacchettizzare?
AmministrazioneSistema/InstallareProgrammi/DaSorgenti
Programmazione/Checkinstall
rai
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 2221
Iscrizione: maggio 2008
Località: Palermo
Distribuzione: 16.04

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda london3 » sabato 19 gennaio 2019, 15:55

grazie, sembra funzionare
london3
Prode Principiante
 
Messaggi: 121
Iscrizione: gennaio 2014

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda Sam9999 » sabato 19 gennaio 2019, 16:23

A me il repository non lo trova "sudo add-apt-repository ppa:nijel/phpmyadmin;"

Allora ho seguito la prima procedura di installazione manuale ed ho risolto quegli errori che mi dava phpmyadmin. :birra:
-------------
S. @-M.
-------------
Avatar utente
Sam9999
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1136
Iscrizione: giugno 2014
Località: BO
Desktop: Studio Xfce
Distribuzione: Ubuntu 18.10 (Cosmic Cuttlefish)

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda Luca Gasperini » sabato 19 gennaio 2019, 17:49

Sam9999 ha scritto:A me il repository non lo trova "sudo add-apt-repository ppa:nijel/phpmyadmin;"

Allora ho seguito la prima procedura di installazione manuale ed ho risolto quegli errori che mi dava phpmyadmin. :birra:

Nijel è l'attuale maintainer del pacchetto di PhpMyAdmin per Debian, Ubuntu semplicemente prende i propri pacchetti dal repo stable di Debian, come mostrato qui:
http://archive.ubuntu.com/ubuntu/pool/u ... ntu2.1.dsc
Suppongo che quel repository era disponibile prima che lo integrassero nei repo ufficiali di Debian, infatti da allora non ha avuto più aggiornamenti, di seguito il suo repo:
http://ppa.launchpad.net/nijel/phpmyadmin/ubuntu/
Luca Gasperini - Sviluppatore Open Source per XSoftware
https://www.xsoftware.it / https://www.xsoftware.eu
luca.gasperini@xsoftware.it
Avatar utente
Luca Gasperini
Prode Principiante
 
Messaggi: 23
Iscrizione: gennaio 2019
Località: Roma
Desktop: Plasma
Distribuzione: Ubuntu 18.04 & ArchLinux x86_64
Sesso: Maschile

Re: problema con phpmyadmin: count(): Parameter must be an a

Messaggioda caturen » venerdì 25 gennaio 2019, 17:34

A me il repository non lo trova "sudo add-apt-repository ppa:nijel/phpmyadmin;"
semplicemente perchè quel ppa arriva solo a supportare ubuntu 17.04 e non oltre.
caturen
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14740
Iscrizione: aprile 2010
Desktop: diversi
Distribuzione: debian sid


Torna a Applicazioni

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 3 ospiti