Come aggiornare PHPmyAdmin [rivisitato]


28

Questa domanda è stata posta in precedenza, Come aggiornare PHPmyAdmin

La risposta è stata data

sudo apt-get update
sudo apt-get install phpmyadmin

o

sudo apt-get update
sudo apt-get upgrade

La versione di phpmyadminincluso in apt-get è 4.5.4, che è stata rilasciata il 28 gennaio 2016.

In risposta a questa domanda, una risposta era usare l' archivio phpMyAdmin che offre i seguenti comandi.

sudo add-apt-repository ppa:phpmyadmin/ppa
sudo apt-get update

Nel mio caso ciò ha aggiornato molte cose, ma, non specificamente phpmyadmin, avevo bisogno del comando aggiuntivo

sudo apt-get update phpmyadmin

Questo ha ottenuto con successo oltre la versione 4.9.0.1che è stato rilasciato nel 2019.

Al momento della stesura di questo documento sembra che sia necessario scaricare e copiare manualmente utilizzando le vaghe istruzioni di docs.phpmyadmin.net .

Esiste un repository più attuale phpmyadmindi PPA o è necessaria un'installazione manuale?


2
@Rinzwind, è attualmente alla versione 4.5.4 e mi piacerebbe che fosse la versione corrente della 4.7.3, come mai no e aggiornarla?
Dwight Wilbanks,

Se non riesci a capire come installare pma dai tarball, non dovresti davvero occuparti della gestione di un server Web ... -1 per tutti qui.
fkraiem,

Risposte:


36

@Photo Larry ha praticamente colpito l'unghia sulla testa! Darò una risposta basata sulla sua che sarà facile da capire e da seguire.

  • Il primo passo è quello di installare PMA (phpMyAdmin) dal repo ufficiale di Ubuntu: apt-get install phpmyadmin.
  • Avanti, cd nella directory usr / share: cd /usr/share.
  • In terzo luogo, rimuovere la directory phpMyAdmin: rm -rf phpmyadmin.
  • Ora abbiamo bisogno di scaricare l'ultima versione PMA sul nostro sistema (notare che è necessario wget: apt-get install wget): wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip" Lasciatemi spiegare gli argomenti di questo comando, -P definisce il percorso e "la link.zip" è attualmente (7/17/18 ) l'ultima versione di PMA. Puoi trovare questi link QUI .
  • Per questo il prossimo passo è necessario decomprimere ( apt-get install unzip): unzip phpMyAdmin-4.8.2-english.zip. Abbiamo appena decompresso PMA, ora lo sposteremo nella sua ultima casa.
  • Usiamo il cpcomando (copia) per spostare i nostri file! Nota che dobbiamo aggiungere l' -rargomento poiché questa è una cartella. cp -r phpMyAdmin-4.8.2-english phpmyadmin.
  • Ora è il momento di ripulire: rm -rf phpMyAdmin-4.8.2-english.

Continua a leggere!

Ora potresti notare due errori dopo aver effettuato l'accesso a PMA.

the configuration file now needs a secret passphrase (blowfish_secret). phpmyadmin
The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.

Tuttavia, questi problemi sono relativamente facili da risolvere. Per il primo numero tutto quello che devi fare è prendere il tuo editor di scelta e modificarlo /usr/share/phpmyadmin/config.inc.phpma c'è un problema, l'abbiamo rimosso! Va bene, tutto quello che devi fare è: cd /usr/share/phpmyadmin& cp config.sample.inc.php config.inc.php.

Esempio di variabile segreta variabile phpMyAdmin Blowfish:

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = '{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V'; 
/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Ora salva e chiudi il file.

  • Ora creeremo una directory tmp per PMA: mkdir tmp& chown -R www-data:www-data /usr/share/phpmyadmin/tmp. L'ultimo comando consente al server Web Apache di possedere la directory tmp e modificarne il contenuto.

MODIFICA 12 dic 2018

Non vuoi che qualcuno ti rubi i biscotti, adesso?

È stato portato alla mia attenzione che https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator causa errori nelle versioni precedenti su PMA. Tuttavia, la ragione principale per cui ho sconsiglio di utilizzare siti come questo è perché non avete idea sia che utilizzino un PRNG debole (Pseudo-Random Number Generator) (ad esempio rand(), mt_rand()e lcg_value()) oppure una delle funzioni di "mischiare" (ad esempio str_shuffle(), shuffle(), array_rand()). Come tale, ho creato il mio strumento per questo scopo. Genera una stringa di 32 caratteri crittograficamente sicura che puoi usare senza preoccupazioni per la sicurezza o errori! Pagina man di PHP per la funzione che utilizzo per generare la casualità http://php.net/manual/en/function.random-int.php . Ho sostituito il vecchio link con questo:https://www.motorsportdiesel.com/tools/blowfish-salt/pma/ .


Nice gidelines! Li ho seguiti con alcuni passaggi laterali: a) invece di rimuovere la vecchia versione, la rinominerei; b) può essere utile creare un collegamento simbolico phpmyadmin, che può essere facilmente commutato tra più versioni.
AntonK,

Ho copiato la tua risposta qui perché penso sia l'opzione migliore. Se vuoi dare la tua risposta, dimmelo e rimuoverò la mia.
PhoneixS,

Va bene. Grazie mille per il merito e per la decenza di informarmi! @PhoneixS
CRIMSON 501

Dovresti anche rimuovere il file ZIP scaricato come parte della pulizia
IvanRF

9

Ho dovuto farlo solo a causa di problemi con php7.2 e la ricezione dell'errore count(): Parameter must be an array or an object that implements Countable.

La versione di apt era 4.5.4 e il ppa non ha le correzioni per php7.2. La mia soluzione era scaricare l'ultima versione da https://www.phpmyadmin.net/ e copiare i file in /usr/share/phpmyadmin.


1
ha funzionato per me come un incantesimo
Norman Bird il

OK, molto meglio ora! Debian (e Ubuntu) dovrebbero aggiornare i loro pacchetti. Ps. Sto anche eseguendo PHP 7.3.
danger89,

3

Come detto sopra, devi aggiornare i file manualmente ma ho cercato per un'ora per scoprire dove si trovavano (/ usr / share) e continuavo a vedere che sarebbe stato inserito in / var / www / html che non è corretto . Se hai installato il software con apt-get install phpmyadmin dopo aver aggiunto il repository sopra il quale afferma di essere attuale, allora avrai almeno le librerie php7.2 necessarie. Quindi è necessario installare la NUOVA versione (4.8) in / usr / share / phpmyadmin andando su / usr / share e clonando git: git clone https://github.com/phpmyadmin/phpmyadmin.git (Ho fatto prima rm -rf phpmyadmin) solo per essere sicuro che non fosse rimasto nessun vecchio codice. Quindi, quando si accede all'interfaccia Web .... si vede che viene utilizzata la versione più recente. Quindi assicurati di cd su phpmyadmin ed esegui: aggiornamento del compositore --no-dev Questo ottiene le librerie aggiunte necessarie. Questo installa 4.9.0-dev che funziona alla grande e sto eseguendo Ubuntu 16.04.4. Grazie spero che questo aiuti qualcuno a risparmiare tempo


Grazie! Questo mi ha salvato la giornata! ma ho deciso di usare quello stabile github.com/blackmambano5/phpmyadmin.git questa è la versione 4.8.1 e tutto funziona!
gfivehost,

Grazie, questo mi ha aiutato. Ho installato da zip, non da Github, non c'è molta differenza lì. Suggerisco di modificare la domanda per suddividere il paragrafo di grandi dimensioni in un elenco di passaggi.
pag

Meglio recuperare l'ultima stabile versione dal git come questo: git clone -b STABLE https://github.com/phpmyadmin/phpmyadmin.git.
Christopher K.

2

Puoi semplicemente installare manualmente l'ultima versione di phpmyadmin.

Vai su https://www.phpmyadmin.net/downloads e scarica l'ultima versione, ma assicurati di avere le versioni PHP e MySQL compatibili elencate sul sito web.

Estrarlo nella cartella pubblica del server e modificare il config.inc.phpfile. Assicurati che il tuo auth_typesia cookieed hostè qualunque sia il tuo host. Questa impostazione ti farà inserire nome utente e password al momento dell'accesso.

/*Authentication type*/
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';

2

Vorrei usare l'archivio phpMyAdmin se hai davvero bisogno dell'ultima versione. Ricorda però che esiste una dipendenza (è necessario anche un php più recente):

Descrizione PPA

Ultimi pacchetti phpMyAdmin - https://www.phpmyadmin.net/ . Basato su pacchetti disponibili in Debian.

Ci sono alcune modifiche notevoli:


2
Penso che abbia chiesto come aggiornarlo all'ultima versione, non dove è possibile scaricare l'installazione.
Tarik,

1
A luglio 2018, quel PPA è ancora a 4.6.6 (con il bug) mentre phpMyAdmin è a 4.8 (senza il bug). Sembra che il PPA non sia più mantenuto?
Steve

Ho appena usato questo PPA - 4.9.0, non male - l'ultimo è 4.9.1. Semplifica la vita. Ho dovuto aggiornare il PHP a 7.3
nrapopor


0

La risposta di Crimson501 è perfetta a meno che tu non sia su Ubuntu, per risolvere il problema del file blowfish e tmp su ubuntu è necessario modificare il seguente file, fare riferimento alla configurazione esistente e alla directory tmp che ubuntu utilizza.

Usando il tuo editor di file di testo preferito modifica:

/usr/share/phpmyadmin/libraries/vendor_config.php
find TEMP_DIR
modify './tmp/' to '/var/lib/phpmyadmin/tmp/'
find CONFIG_DIR
modify '' to '/etc/phpmyadmin/'
save the changes

Ora, quando torni indietro e aggiorni la pagina, gli errori spariranno.



-1

Seguendo le istruzioni trovate qui , ho creato questo semplice script per aggiornare PHPMyAdmin all'ultima versione stabile :

echo
echo "Backing up"
mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak

echo "Getting lastest PHPMyAdmin version..."
mkdir -p /usr/share/phpmyadmin/
cd /usr/share/phpmyadmin/
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
tar xzf phpMyAdmin-latest-all-languages.tar.gz
mv phpMyAdmin-*/* /usr/share/phpmyadmin

echo "Updating vendor_config"
sed -i -r "s/('TEMP_DIR'\s*,)[^\)]*/\1 '\/var\/lib\/phpmyadmin\/tmp\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php
sed -i -r "s/('CONFIG_DIR'\s*,)[^\)]*/\1 '\/etc\/phpmyadmin\/'/" /usr/share/phpmyadmin/libraries/vendor_config.php

echo "Cleaning up..."
rm /usr/share/phpmyadmin/phpMyAdmin-latest-all-languages.tar.gz
rm -rf /usr/share/phpmyadmin/phpMyAdmin-*
rm -rf /usr/share/phpmyadmin.bak

echo "Done!"
echo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.