Uppdatera phpMyAdmin manuellt på Ubuntu
När detta skrevs är phpMyAdmin-versionen tillgänglig i Ubuntu pakethanteraren (4.5.4) stöder inte php7.2 fullt ut, vilket leder till den irriterande count()-varningen. Lösningen är att uppdatera till den senaste versionen av phpMyAdmin , vilket är 4.7.9 i skrivande stund.
Ubuntu-paketet ligger bakom. Det finns en phpMyAdmin PPA , men det ligger också bakom:
"Obs:Det här förrådet ligger för närvarande lite efter eftersom jag kämpar för att hitta tid att uppdatera det till 4.7-serien."
Lyckligtvis kan vi uppgradera manuellt från den äldre versionen.
De grundläggande stegen är:
- Gör en säkerhetskopia av nuvarande installation
- Ladda ner och extrahera den senaste versionen av phpMyAdmin
- Ändra filen vendor_config.php till lämplig katalog för Ubuntu
- Lägg till en längre slumpmässig sträng för att lösa blowfish-felmeddelanden och tillåta korrekt cookie-autentisering
Dessa terminalkommandon bör få jobbet gjort (använd sudo om tillämpligt):
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
(Valfritt ) Ersätt wget-raden med den senaste versionen eller önskat format som du väljer. Besök https://www.phpmyadmin.net/downloads/ .
Lös blowfish-felmeddelandet
Vid denna tidpunkt kommer du förmodligen att få ett blowfish-fel när du använder phpMyAdmin . För att lösa detta bör du uppdatera en specifik konfigurationsfil:
- Öppna
vendor_config.php
i/usr/share/phpmyadmin/libraries/vendor_config.php
- På eller runt rad 38, ersätt
define('CONFIG_DIR', '');
meddefine('CONFIG_DIR', '/etc/phpmyadmin/');
och spara filen.
När du är klar, rad 33-38 i vendor_config.php
ska se ut ungefär så här:
/**
* 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/');
Vid det här laget kan phpMyAdmin fungera utan fel, men du kan behöva lägga till ytterligare längd till blowfish_secret-konfigurationssträngen .
- Öppna filen
/var/lib/phpmyadmin/blowfish_secret.inc.php
.
Du bör se:
<?php
$cfg['blowfish_secret'] = 'Something Short';
- Lägg till ytterligare slumpmässighet till
$cfg['blowfish_secret']
sträng, minst 40 tecken och ännu längre kan vara bättre (jag använder en sträng på upp till 100 tecken).
Till exempel (använd inte detta, bara ett exempel):
$cfg['blowfish_secret'] = 'A much longer random string 7NfSjYezwmwGCfGDuDO7uWn4ESw2sCFCym1RatPjGCfGCym1RatPjGCfG';
- Spara filen.
Uppdatera nu phpMyAdmin (i din webbläsare) och logga in igen . Allt borde fungera som det ska nu.
Om så önskas kan du ta bort säkerhetskopian av den gamla phpMyAdmin-versionen med:
rm -rfv /usr/share/phpmyadmin_old
Ytterligare dokumentation
Som referens är följande utdrag från officiell phpMyAdmin-dokumentation om manuell uppdatering till den senaste versionen (detta är inte Ubuntu-specifik):
Varning
Extrahera aldrig den nya versionen över en befintlig installation av phpMyAdmin, ta alltid först bort de gamla filerna med bara konfigurationen.
På så sätt lämnar du inte gammal kod som inte längre fungerar i katalogen, vilket kan ha allvarliga säkerhetskonsekvenser eller kan orsaka olika brott.
Och:
Den fullständiga uppgraderingen kan utföras i några enkla steg:
Ladda ner den senaste versionen av phpMyAdmin frånhttps://www.phpmyadmin.net/downloads/ .
Byt namn på befintlig phpMyAdmin-mapp (till exempel till phpmyadmin-old).
Packa upp nyligen nedladdade phpMyAdmin till önskad plats (till exempel phpmyadmin).
Kopiera config.inc.php` från gammal plats (phpmyadmin-old) till ny (phpmyadmin).
Testa att allt fungerar som det ska.
Ta bort säkerhetskopian av tidigare version (phpmyadmin-old).