phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

Errori di phpMyAdmin (conteggio, blowfish, ecc.) dopo l'aggiornamento di php7.2 su Ubuntu 16

Aggiorna manualmente phpMyAdmin su Ubuntu

Al momento della stesura di questo, la versione di phpMyAdmin disponibile nel gestore di pacchetti di Ubuntu (4.5.4) non supporta completamente php7.2, il che porta al fastidioso avviso count(). La soluzione è aggiornare all'ultima versione di phpMyAdmin , che è 4.7.9 al momento della scrittura.

Il pacchetto Ubuntu è dietro. Esiste un phpMyAdmin PPA , ma anche lui è dietro:

"Nota:questo repository è attualmente un po' indietro poiché faccio fatica a trovare il tempo per aggiornarlo alla serie 4.7."

Fortunatamente, possiamo aggiornare manualmente dalla versione precedente.

I passaggi di base sono:

  1. Esegui una copia di backup dell'installazione corrente
  2. Scarica ed estrai l'ultima versione di phpMyAdmin
  3. Modifica il file vendor_config.php nella directory appropriata per Ubuntu
  4. Aggiungi una stringa casuale più lunga per risolvere i messaggi di errore di Blowfish e consentire la corretta autenticazione dei cookie

Questi comandi del terminale dovrebbero portare a termine il lavoro (usa sudo se applicabile):

mv /usr/share/phpmyadmin /usr/share/phpmyadmin_old
mkdir /usr/share/phpmyadmin
mkdir /var/downloads
cd /var/downloads
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.9/phpMyAdmin-4.7.9-all-languages.tar.gz
tar -xf phpMyAdmin-4.7.9-all-languages.tar.gz -C /usr/share/phpmyadmin --strip-components=1

(Facoltativo ) Sostituisci la riga wget con l'ultima versione o il formato preferito di tua scelta. Visita https://www.phpmyadmin.net/downloads/ .

Risolvi il messaggio di errore del pesce palla

A questo punto, probabilmente otterrai un errore Blowfish quando usi phpMyAdmin . Per risolvere questo problema, dovresti aggiornare un file di configurazione specifico:

  1. Apri vendor_config.php in /usr/share/phpmyadmin/libraries/vendor_config.php
  2. Su o intorno alla riga 38, sostituisci define('CONFIG_DIR', ''); con define('CONFIG_DIR', '/etc/phpmyadmin/'); e salva il file.

Quando hai finito, righe 33-38 di vendor_config.php dovrebbe assomigliare a:

/**
 * Directory where configuration files are stored.
 * It is not used directly in code, just a convenient
 * define used further in this file.
 */
define('CONFIG_DIR', '/etc/phpmyadmin/');

A questo punto, phpMyAdmin potrebbe funzionare senza errori, ma potrebbe essere necessario aggiungere ulteriore lunghezza alla stringa di configurazione blowfish_secret .

  1. Apri il file /var/lib/phpmyadmin/blowfish_secret.inc.php .

Dovresti vedere:

<?php
$cfg['blowfish_secret'] = 'Something Short';
  1. Aggiungi ulteriore casualità a $cfg['blowfish_secret'] stringa, almeno 40 caratteri e anche più lunghi potrebbero essere migliori (io uso una stringa lunga fino a 100 caratteri).

Ad esempio (non usarlo, solo un esempio):

$cfg['blowfish_secret'] = 'A much longer random string 7NfSjYezwmwGCfGDuDO7uWn4ESw2sCFCym1RatPjGCfGCym1RatPjGCfG';
  1. Salva il file.

A questo punto, aggiorna phpMyAdmin (nel tuo browser) e accedi di nuovo . Tutto dovrebbe funzionare correttamente ora.

Se lo desideri, puoi rimuovere la copia di backup della vecchia versione di phpMyAdmin con:

rm -rfv /usr/share/phpmyadmin_old

Documentazione aggiuntiva

Per riferimento, i seguenti sono estratti da documentazione ufficiale di phpMyAdmin sull'aggiornamento manuale all'ultima versione (questo è non specifico per Ubuntu):

Avviso

Non estrarre mai la nuova versione su un'installazione esistente di phpMyAdmin, rimuovi sempre prima i vecchi file mantenendo solo la configurazione.

In questo modo non lascerai più il vecchio codice non funzionante nella directory, che può avere gravi implicazioni sulla sicurezza o causare varie rotture.

E:

L'aggiornamento completo può essere eseguito in pochi semplici passaggi:

  1. Scarica l'ultima versione di phpMyAdmin dahttps://www.phpmyadmin.net/downloads/ .

  2. Rinomina la cartella phpMyAdmin esistente (ad esempio in phpmyadmin-old).

  3. Scompatta phpMyAdmin appena scaricato nella posizione desiderata (ad esempio phpmyadmin).

  4. Copia config.inc.php` dalla vecchia posizione (phpmyadmin-old) a quella nuova (phpmyadmin).

  5. Verifica che tutto funzioni correttamente.

  6. Rimuovi il backup della versione precedente (phpmyadmin-old).