Comment mettre à jour PHPmyAdmin [revisité]

28

Cette question a été posée précédemment, Comment mettre à niveau PHPmyAdmin

La réponse donnée était

sudo apt-get update
sudo apt-get install phpmyadmin

ou

sudo apt-get update
sudo apt-get upgrade

La version phpmyadminincluse dans apt-get est 4.5.4, qui a été publiée le 28 janvier 2016.

En réponse à cette question, une réponse a été d'utiliser l'utilisation de l' archive phpMyAdmin qui propose les commandes suivantes.

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

Dans mon cas, cela a mis à jour beaucoup de choses, mais pas spécifiquement phpmyadmin, j'avais besoin de la commande supplémentaire

sudo apt-get update phpmyadmin

Cela n'obtenir avec succès passé la version 4.9.0.1qui a été publié en 2019.

Au moment d'écrire ces lignes, il semble que le téléchargement et la copie manuels à l'aide des instructions vagues de docs.phpmyadmin.net soient nécessaires.

Existe-t-il un référentiel plus actuel phpmyadminque le PPA ou une installation manuelle est-elle requise?

Dwight Wilbanks
la source
2
@Rinzwind, il est actuellement à la version 4.5.4 et j'aimerais que ce soit la version actuelle de 4.7.3, comment est-ce pas et à mettre à niveau?
Dwight Wilbanks
Si vous ne savez pas comment installer pma à partir des tarballs, vous ne devriez vraiment pas vous occuper de gérer un serveur Web ... -1 pour tout le monde ici.
fkraiem

Réponses:

36

@Photo Larry a pratiquement frappé le clou sur la tête! Je vais donner une réponse basée sur la sienne qui sera facile à comprendre et à suivre.

  • Votre première étape consiste à installer PMA (phpMyAdmin) à partir du repo officiel Ubuntu: apt-get install phpmyadmin.
  • Ensuite, dans le répertoire usr cd de / share: cd /usr/share.
  • Troisièmement, supprimer le répertoire phpMyAdmin: rm -rf phpmyadmin.
  • Maintenant , nous avons besoin de télécharger la dernière version PMA sur notre système (Notez que vous avez besoin wget: apt-get install wget): wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.8.2/phpMyAdmin-4.8.2-english.zip" Permettez - moi de vous expliquer les arguments de cette commande, -P définit le chemin et « le link.zip » est actuellement (17.07.18 ) la dernière version de PMA. Vous pouvez trouver ces liens ICI .
  • Pour cette étape suivante , vous devez dézipper ( apt-get install unzip): unzip phpMyAdmin-4.8.2-english.zip. Nous venons de décompresser PMA, maintenant nous allons le déplacer vers sa dernière demeure.
  • Permet d'utiliser la cpcommande (copier) pour déplacer nos fichiers! Notez que nous devons ajouter l' -rargument car il s'agit d'un dossier. cp -r phpMyAdmin-4.8.2-english phpmyadmin.
  • Maintenant , il est temps de nettoyer: rm -rf phpMyAdmin-4.8.2-english.

Continue de lire!

Vous pouvez maintenant remarquer deux erreurs après vous être connecté à 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.

Cependant, ces problèmes sont relativement faciles à résoudre. Pour le premier problème, il vous suffit de récupérer l'éditeur de votre choix et de le modifier, /usr/share/phpmyadmin/config.inc.phpmais il y a un problème, nous l'avons supprimé! Ça va, tout ce que vous avez à faire est: cd /usr/share/phpmyadmin& cp config.sample.inc.php config.inc.php.

Exemple d'entrée de variable secrète 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! */

Maintenant, enregistrez et fermez le fichier.

  • Nous allons maintenant créer un répertoire tmp pour PMA: mkdir tmp& chown -R www-data:www-data /usr/share/phpmyadmin/tmp. La dernière commande permet au serveur Web Apache de posséder le répertoire tmp et de modifier son contenu.

EDIT 12 déc.2018

Vous ne voulez pas que quelqu'un vole vos cookies, maintenant?

Il a été porté à mon attention que https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator provoque des erreurs sur les anciennes versions sur PMA. Cependant, la principale raison pour laquelle je dissuade vous à des sites d'utilisation comme cela est parce que vous ne savez pas si elles utilisent un faible PRNG (nombres pseudo-aléatoire générateur) (par exemple rand(), mt_rand()et lcg_value()) ou l' une des fonctions « mélange » (par exemple str_shuffle(), shuffle(), array_rand()). À ce titre, j'ai créé mon propre outil à cet effet. Il génère une chaîne de 32 caractères sécurisée cryptographiquement que vous pouvez utiliser sans souci de sécurité ou d'erreurs! Page de manuel PHP pour la fonction que j'utilise pour générer le caractère aléatoire http://php.net/manual/en/function.random-int.php . J'ai remplacé l'ancien lien par celui-ci:https://www.motorsportdiesel.com/tools/blowfish-salt/pma/ .

CRIMSON 501
la source
De belles lignes de conduite! Je les ai suivis avec quelques étapes secondaires: a) au lieu de supprimer l'ancienne version, je la renommerais; b) il peut être utile de créer un lien symbolique phpmyadmin, qui peut être facilement commuté entre plusieurs versions.
AntonK
J'ai copié votre réponse ici car je pense que c'est la meilleure option. Si vous voulez faire votre propre réponse, dites-le moi et je retirerai la mienne.
PhoneixS
C'est bien. Un grand merci pour le crédit et avoir la décence de m'informer! @PhoneixS
CRIMSON 501
Vous devez également supprimer le fichier ZIP téléchargé dans le cadre du nettoyage
IvanRF
9

Je devais juste le faire en raison de problèmes avec php7.2 et de la réception de l'erreur count(): Parameter must be an array or an object that implements Countable.

La version d'apt était 4.5.4 et le ppa n'a pas les correctifs pour php7.2. Ma solution était de télécharger la dernière version sur https://www.phpmyadmin.net/ et de copier les fichiers sur /usr/share/phpmyadmin.

Jason Houle
la source
1
travaillé pour moi comme un charme
Norman Bird
OK, beaucoup mieux maintenant! Debian (et Ubuntu) devraient mettre à jour leurs paquets. Ps. J'utilise même PHP 7.3.
danger89
3

Comme indiqué ci-dessus, vous devez mettre à jour les fichiers manuellement, mais j'ai cherché pendant une heure pour savoir où ils se trouvaient (/ usr / share) et j'ai continué à voir qu'il allait être placé dans / var / www / html, ce qui est incorrect. . Si vous avez installé le logiciel avec apt-get install phpmyadmin après avoir ajouté le référentiel ci-dessus qui prétend être à jour, alors vous obtenez au moins les bibliothèques php7.2 nécessaires. Ensuite, vous devez installer la NOUVELLE version (4.8) dans / usr / share / phpmyadmin en accédant au / usr / share et en clonant le git: git clone https://github.com/phpmyadmin/phpmyadmin.git (J'ai fait rm -rf phpmyadmin en premier) juste pour être sûr qu'aucun ancien code n'a été laissé. Ensuite, lorsque vous accédez à l'interface Web ... vous voyez que la dernière version est maintenant utilisée. Assurez-vous ensuite de cd vers phpmyadmin et d'exécuter: composer update --no-dev Ceci obtient les bibliothèques supplémentaires nécessaires. Cela installe 4.9.0-dev qui fonctionne très bien et j'utilise Ubuntu 16.04.4. Merci d'espérer que cela aide quelqu'un à gagner du temps

Photo Larry
la source
Merci !, cela m'a sauvé la journée! mais j'ai décidé d'utiliser l'écurie github.com/blackmambano5/phpmyadmin.git c'est la version 4.8.1 et tout fonctionne!
gfivehost
Merci, cela a aidé. J'ai installé depuis zip, pas depuis Github, pas beaucoup de différence là-bas. Je suggère de modifier la question pour diviser le grand paragraphe en une liste d'étapes.
pgr
Mieux récupérer les dernières versions stables version à partir comme git ceci: git clone -b STABLE https://github.com/phpmyadmin/phpmyadmin.git.
Christopher K.
2

Vous pouvez simplement installer manuellement la dernière version de phpmyadmin.

Rendez-vous sur https://www.phpmyadmin.net/downloads et téléchargez la dernière version, mais assurez-vous d'avoir la version compatible PHP et MySQL répertoriée sur le site Web.

Extrayez-le dans le dossier public de votre serveur et modifiez le config.inc.phpfichier. Assurez-vous que votre auth_typeest cookieet hostest ce que votre hôte est. Ce paramètre vous fera entrer votre nom d'utilisateur et votre mot de passe lors de la connexion.

/*Authentication type*/
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
Timothée
la source
2

J'utiliserais l'archive phpMyAdmin si vous avez vraiment besoin de la dernière version. Attention cependant à l'existence d'une dépendance (vous avez également besoin d'un php plus récent):

Description du PPA

Derniers packages phpMyAdmin - https://www.phpmyadmin.net/ . Basé sur les paquets disponibles dans Debian.

Il y a quelques changements notables:

Rinzwind
la source
2
Je pense qu'il a demandé comment le mettre à jour vers la dernière version, pas où l'installation peut être téléchargée.
Tarik
1
En juillet 2018, ce PPA est toujours à 4.6.6 (avec le bogue) tandis que phpMyAdmin est à 4.8 (sans le bogue). On dirait que le PPA n'est plus maintenu?
Steve
Je viens d'utiliser ce PPA - 4.9.0, pas trop mal - le dernier est 4.9.1. Rend la vie simple. J'ai dû mettre à niveau le PHP vers 7.3
nrapopor
0

Je conseillerais d'utiliser Docker pour exécuter le dernier phpmyadmin. Il est simple à configurer et toutes les dépendances sont gérées automatiquement et n'interagissent pas avec votre installation locale. Il utilise 25 Mo de RAM, ce n'est donc pas un memoryhog.

Très facile à exécuter le dernier phphmyadmin sur n'importe quelle plate-forme.

https://docs.phpmyadmin.net/en/latest/setup.html#installing-using-docker

Peterdk
la source
0

La réponse de Crimson501 est parfaite à moins que vous ne soyez sur Ubuntu, afin de résoudre le problème des fichiers Blowfish et TMP sur Ubuntu, vous devez modifier le fichier suivant, pour référencer la configuration existante et le répertoire tmp qu'Ubuntu utilise.

À l'aide de votre éditeur de fichiers texte préféré, modifiez:

/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

Maintenant, lorsque vous revenez en arrière et actualisez la page, les erreurs disparaissent.

user373310
la source
-1

En suivant les instructions trouvées ici , j'ai créé ce script simple pour mettre à jour PHPMyAdmin vers la dernière version stable :

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
garsax
la source