44 votes

Erreur de phpMyAdmin - Le fichier de configuration nécessite désormais une phrase secrète

Je continue à recevoir une erreur "Le fichier de configuration a besoin maintenant d'une phrase secrète" après l'installation de phpmyadmin. J'ai défini la phrase secrète et suivi les instructions présentées sur https://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-on mais cela ne semble pas fonctionner. J'utilise AMI et ai vérifié le propriétaire et les autorisations également. S'il vous plaît aidez gentiment.

57voto

user1519314 Points 31

Cela pourrait aider, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase

Si vous voyez le message d'erreur suivant en bas de la page lorsque vous vous connectez pour la première fois à /phpmyadmin (en utilisant un nom d'utilisateur et un mot de passe MySQL préalablement configurés) :

ERREUR : Le fichier de configuration a maintenant besoin d'une passphrase secrète (blowfish_secret)  

Vous devez ajouter un mot de passe blowfish au fichier de configuration de phpMyAdmin. Modifiez /etc/webapps/phpmyadmin/config.inc.php et insérez un "mot de passe" blowfish aléatoire à la ligne

$cfg['blowfish_secret'] = ; /* VOUS DEVEZ REMPLIR CECI POUR L'AUTORISATION DES COOKIES ! */  

Il devrait maintenant ressembler à ceci :

$cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz'; /* VOUS DEVEZ REMPLIR CECI POUR L'AUTORISATION DES COOKIES ! */  

Tout ceci suppose que vous avez déjà correctement créé le fichier de configuration,

cp config.sample.inc.php config.inc.php

11voto

ub3rst4r Points 556

J'obtenais également l'erreur Le fichier de configuration nécessite désormais une phrase secrète (blowfish_secret) lorsque le fichier de configuration avait $cfg['blowfish_secret'] défini. J'utilise CentOS v6 et j'ai installé PHPMyAdmin depuis le dépôt EPEL en utilisant yum. J'ai configuré nginx pour héberger PHPMyAdmin et le package PHPMyAdmin (par défaut) est configuré pour fonctionner avec Apache. Le fichier de configuration est situé à /etc/phpMyAdmin/config.inc.php (vous pouvez vérifier CONFIG_DIR dans libraries/vendor_config.php pour trouver où se trouve votre fichier de configuration) et si vous remarquez, l'utilisateur est root et le groupe est apache pour le fichier et le répertoire. Cela empêche PHPMyAdmin de pouvoir lire le fichier de configuration. Pour résoudre ce problème, utilisez chown pour changer le groupe par celui qui exécute votre serveur web (dans mon cas, le groupe est nginx). Vous devrez changer le propriétaire à la fois pour le répertoire ET le fichier de configuration (comme indiqué ci-dessous).

chown -R root.nginx /etc/phpMyAdmin/

Notez que vous devrez peut-être refaire cela si PHPMyAdmin est mis à jour. Vous pourriez également rencontrer d'autres problèmes de permissions si SELinux est activé.

7voto

D Moreau Points 51

La dernière version de phpmyadmin ne crée pas le fichier de configuration après l'installation. Il existe un exemple de fichier de configuration disponible et un fichier de configuration par défaut réel plus profondément dans l'arborescence des dossiers.

Notez que le secret blowfish doit être exactement de 32 caractères de long, sinon il ne sera pas appliqué.

Copiez le fichier d'exemple pour créer le fichier réel utilisé qui remplace les valeurs par défaut. Le répertoire indiqué ci-dessous n'est qu'un exemple, utilisez donc le répertoire/chemin pour votre installation de phpmyadmin qui s'applique.

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

En haut du fichier se trouve la variable blowfish qui doit être définie. Ajoutez 32 caractères aléatoires à la valeur de la variable, puis enregistrez le fichier.

$cfg['blowfish_secret'] = 'KLS$vbc91Lkja$vc@opGbxA278EWopdc';

Je n'ai lu personne mentionner la règle des 32 caractères dans cette discussion. Peut-être que c'était le problème pour l'OP.

7voto

Marcel Molenaar Points 71

J'avais

define('CONFIG_DIR', '/etc/phpmyadmin'); 

dans /usr/share/phpmyadmin/libraries/vendor_config.php.

Il devrait être:

define('CONFIG_DIR', '/etc/phpmyadmin/'); 

(barre oblique ajoutée)

2voto

Albi Points 21

Dans mon cas, j'ai mis à jour PHPMyAdmin manuellement car la version dans le dépôt ne se comportait pas bien avec PHP 7.2. J'ai suivi toutes les étapes en ligne, mais j'avais fait une erreur dans /usr/share/phpmyadmin/libraries/vendor_config.php.

La ligne: define('CONFIG_DIR', '/etc/phpmyadmin/'); manquait d'un / à la fin. J'ai découvert cela en éditant manuellement les fichiers libraries/classes/Config.php et au début de function load($source) j'ai ajouté un die($source). C'est là que j'ai vu que la source de configuration était incorrecte.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X