Je reçois toujours une erreur "Le fichier de configuration a maintenant besoin d'une phrase secrète" après l'installation de phpmyadmin. J'ai défini la phrase secrète et j'ai également suivi les instructions présentées sur https://serverfault.com/questions/291490/phpmyadmin-not-allowing-users-to-log-on mais cela ne semble pas travailler. J'utilise AMI et j'ai également piraté le propriétaire et les autorisations. Merci de bien vouloir aider.
Cela pourrait aider, https://wiki.archlinux.org/index.php/PhpMyAdmin#Add_blowfish_secret_passphrase
Si vous voyez le message d'erreur suivant au 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écédemment configurés):
ERROR: The configuration file now needs a secret passphrase (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 dans la ligne
$cfg['blowfish_secret'] = ; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Il devrait maintenant ressembler à ceci:
$cfg['blowfish_secret'] = 'qtdRoGmbc9{8IZr323xYcSN]0s)r$9b_JUnb{~Xz'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Tout cela 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 The configuration file now needs a secret passphrase (blowfish_secret)
lorsque le fichier de configuration avait $cfg['blowfish_secret']
ensemble. J'utilise CentOS v6 et j'ai installé PHPMyAdmin à partir du référentiel 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 se trouve à /etc/phpMyAdmin/config.inc.php
(tu peux 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 lire le fichier de configuration. Pour résoudre ce problème, utilisez chown
pour remplacer le groupe par celui qui exécute votre serveur Web (dans mon cas, le groupe est nginx
). Vous devrez changer le propriétaire du répertoire ET du fichier de configuration (comme indiqué ci-dessous).
chown -R root.nginx /etc/phpMyAdmin/
Notez que vous devrez peut-être recommencer si PHPMyAdmin est mis à jour. Vous pouvez également rencontrer d'autres problèmes avec les autorisations si SELinux est activé.
J'avais
define('CONFIG_DIR', '/etc/phpmyadmin');
dans /usr/share/phpmyadmin/libraries/vendor_config.php.
Ça devrait être:
define('CONFIG_DIR', '/etc/phpmyadmin/');
(barre oblique ajoutée)
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 en profondeur dans l'arborescence des dossiers.
Notez que le secret de Blowfish doit être exactement de 32 caractères sinon il ne sera pas appliqué.
Copiez l'exemple de fichier pour créer le fichier réellement utilisé qui remplace les valeurs par défaut. Le répertoire ci-dessous n'est qu'un exemple, utilisez donc le répertoire/chemin pour votre installation 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 mentionnant la règle des 32 caractères dans ce fil. C'était peut-être le problème du PO.
Dans mon cas, j'ai mis à jour PHPMyAdmin manuellement car la version du dépôt ne fonctionnait 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 un /
À la fin. J'ai découvert cela en éditant manuellement les bibliothèques/classes/Config.php et au début de function load($source)
j'ai fait une die($source)
. Là, j'ai vu que la source de configuration était incorrecte.
Si vous avez modifié le fichier ici: /usr/share/phpmyadmin/config.inc.php
Et le problème n'est pas résolu, il est possible que vous éditiez un mauvais fichier. si vous exécutez whereis phpmyadmin -l
qui devrait vous donner la liste des emplacements de phpmyadmin sur le serveur.
Pourquoi j'ai dit que vous éditiez peut-être un mauvais fichier, c'est que si vous installez votre phpmyadmin dans var/www/phpmyadmin
ou var/www/html/phpmyadmin
c'est ici que vous devez modifier le phpmyadmin/config.sample.inc.php
.
Essayez donc ceci:
$ cd var/www/html/phpmyadmin
$ cp config.sample.inc.php config.inc.php
Modifiez cela à votre façon et déconnectez-vous et connectez-vous phpmyadmin, vous devriez aller bien.
Allez dans le dossier phpmyadmin> recherchez 'lint.php' et définissez = 'require_once' bibliothèques/config.inc.php ';
Cela résoudra définitivement votre problème.
Si cela résout votre problème, merci à moi.
Suivez ces étapes:
1) Allez à /etc/httpd/conf.d/phpmyadmin.conf
2) Allez à /usr/share/phpmyadmin
, ouvert conf.inc.php
3) Ajoutez de la valeur pour blowfish_secret, comme -
$cfg['blowfish_secret'] = 'mrgQxxk8C-y}U7ji2BO9o5jLf}Qhe-BI[~6SUa';/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
4) Enregistrer et quitter.
5) Vider le cache du navigateur
6) Essayez d'accéder avec l'url: http://yourserver.com/phpmyadmin/index.php
Je veux juste partager ça. mettre
$cfg['blowfish_secret'] = 'fill this up';
Accédez au dossier phpmyadmin et recherchez lint.php
et définissez le
require_once 'common.inc.php';
En plus de vérifier que les autorisations sont exécutables pour le groupe http (serveur Web), il vaut la peine de vérifier que l'entrée 'open_basedir' dans php.ini inclut le répertoire où se trouve config.inc.php s'il est défini. Cela a guéri ce problème pour moi.
Dans mon cas, c'était un problème de propriétaire/autorisations, car j'ai créé manuellement un lien symbolique dans l'un de mes sites Web principaux pour pointer vers /usr/share/phpmyadmin/
pour que je puisse accéder à phpMyAdmin à partir du FQDN https://myserver.mydomain.com/changedphpmyadmin à la place via IP uniquement. Mais cela a également changé l'internaute; la navigation via IP est différente de celle via FQDN, s'il ne s'agit pas du domaine par défaut.
Donc, dans mon cas, l'internaute de mon nom de domaine complet n'a pas pu lire /var/lib/phpmyadmin/blowfish_secret.inc.php
, j'ai donc simplement changé le propriétaire de ce fichier de root: www-data à web1: client1 dans mon cas. Ensuite, testez et rechargez nginx:
chown web1:client1 /var/lib/phpmyadmin/blowfish_secret.inc.php
nginx -t
systemctl reload nginx
Ajout d'un mot de passe avec 32 symboles entre crochets $ cfg ['blowfish_secret'] = ''; m'a aidé pour un autre fichier dans /usr/share/phpmyadmin/libraries/config.default.php
En utilisant debian 9 + ispconfig, phpmyadmin installé manuellement