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.
Réponses
Trop de publicités?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
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é.
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.
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.
- Réponses précédentes
- Plus de réponses