phpMyAdmin - Warning in ./libraries/sql.lib.php#613

google-plus Scritto da . Postato in Ubuntu - Linux

Nei giorni scorsi, ho aggiornato uno dei miei PC per poi utilizzarlo per dei lavori di manutenzione su un sito Joomla.avatar phpmyadmin

Abituato come sono ad usare Ubuntu per questo genere di lavori, sono andato a rispolverare la mia "vecchia" workstation la quale dopo il trasloco avvenuto qualche mese fa era rimasta ad aspettare in cantina.

Per procedere e essere sicuro che tutto funzionasse al meglio, ho voluto risolvere alcuni problemi di configurazione e successivamente aggiornare l'intero sistema operativo e tutti i componenti software dei quali necessitavo.

Ho effettuato dunque il passaggio di versione di Ubuntu dalla versione 16.04 alla versione 18.04. Nell'aggiornamento, il sistema attualizza anche tutti i pacchetti installati. E' stato dunque aggiornato il server MySQL, phpMyAdmin, il server web Apache ed infine PHP

Quella installata dall'aggiornamento è la versione PHP 7.2.

Da subito ho avuto problemi in quanto il sistema non interpretava più i miei file php. Sembrava anche non vedesse più phpMyAdmin. Ma quest'ultimo problema era legato al fatto che l'aggiornamento aveva sovrascritto il file di conficurazione apache2.conf. E' stato dunque sufficiente includere al suo interno il richiamo alla cartella di phpMyAdmin etvohilà: tutto tornato operativo... o forse no.

phpMyAdmin Warning in ./libraries/sql.lib.php#613

Appena fatto l'accesso a phpMyAdmin da browser e cominciato a fare le prime interrogazioni, mi sono reso conto che forse non era poi così tutto operativo. Un popup con avviso di errore del server e successiva schermata rossa mi ha un po' allarmato.

errore ./libraries/sql.lib.php riga 613

E' evidente che tra lo strumento di amministrazione di database phpmyAdmin v4.6.6 e PHP 7.2 non vi sia perfetta compatibilità. L’errore preso in esame è "Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable”.

Ma l'errore è ben segnalato, tanto che come si può vedere dall'immagine qui sopra, si capisce dove andare a cercare.

Prima cosa da fare in questi casi è aprire il file in questione che dal percorso mostrato nell'errore si evince sia nella sottocartella "libraries" di phpmyadmin. Il percorso completo è:

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

Aprite dunque il vostro gestore dei file nel percorso sopra indicato.

Il file, è ovviamente in sola lettura essendo in una cartella di sistema. Per poterlo scrivere dovete per forza aprirlo come amministatore. Potete farlo attraverso terminale attraverso la riga di comando: 

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

Oppure potete utilizzare un metodo che potrebbe risultarvi utile anche per altre innumerevoli cose: aggiungere lo script open as administator al menu contestuale (tasto dx) del mouse che ho già trattato un un altro articolo:

Ubuntu - Open as administrator

Una volta aperto il file in modalità amministratore, prima di procedere con la sua modifica, è bene effettuarne una copia di backup per poter eventualmente tornare alla situazione di origine se qualcosa andasse storto.

Potete farlo direttamente dalla GUI del vostro gestore dei file o attraverso riga di comando:

sudo cp /usr/share/phpmyadmin/libraries/sql.lib.php /usr/share/phpmyadmin/libraries/sql.lib.php.bak

L'effetto sarà creare una copia identica del file sql.lib.php nella stessa posizione dell'originale aggiungendo ad esso l'estensione ".bak" utile a ricordarci che ne è una semplice copia.

Fatto?

Procediamo con la modifica:

L'errore si deve ad una sintassi poco gradita alla versione di PHP 7.2. Basterà aggiungere un paio di parentesi nelle posizioni giuste per risolvere questo problema.

La riga 613 del file sql.lib.php si presenta così:

// PHP CODE
 0  || (count($analyzed_sql_results['select_expr'] == 1) 

La sostituiremo con la seguente:

// PHP CODE
 0  || ((count($analyzed_sql_results['select_expr']) == 1) 

Salvate il file. Se non lo avete salvato in modalità amministatore ora dovrebbe avvisarvi che il file è in sola lettura, altrimenti vi consentirà di salvare la modifica appena fatta.

Tornate a phpMyAdmin e ricaricate la pagina (F5 da tastiera).

L'errore dovrebbe ora essere sparito. Se non avesse avuto effetto, prima di concludere che questo piccolo hack non abbia avuto l'effetto sperato, riavviate il server Apache con il comando da terminale:

sudo service apache2 restart

Se non vuoi leggere l'articolo o preferisci vedere il procedimento, guarda il video:

Sperando che questo articolo vi sia stato utile, se hai qualche suggerimento o domanda da farmi posta un commento qui sotto. 

Se hai gradito l'articolo, condividilo, basta un click:

Aggiungi commento

I commenti lasciati dagli utenti del blog sono sempre soggetti a controllo prima di eventuale pubblicazione. I commenti non considerati adatti per contenuti, spam o forma saranno eliminati e non pubblicati. Leggi i Termini e Condizioni di utilizzo per maggiori informazioni.


Codice di sicurezza
Aggiorna

  • logo teoca
  • materexcel collabora
  • logo flash pulizie
  • revolution srl
  • logo arcotraslochi
  • montaggio mobili trento
  • logo elevatori sito
  • logo prontopro

Per essere più facile ed intuitivo, il blog fa uso dei cookie, piccole porzioni di dati che consentono di capire come gli utenti navighino e ne visualizzino le pagine. I cookie non registrano alcuna informazione personale sull'utente ed eventuali dati identificabili non verranno memorizzati. Ti invitiamo a prendere visione della nostra Informativa sulla Privacy (aggiornata il 25/05/2020). Oppure visiona la nostra Cookie Policy (aggiornata il 17/10/2019):