J'ai installé phpMyAdmin, mais je ne peux l'ouvrir sur aucun navigateur: j'obtiens une redirection 301 (*) si je navigue http://localhost:8080/phpmyadmin
. Si j'ajoute un /
à la fin des adresses, j'obtiens un statut d'erreur 500 à la place .
(*) capturé à l'aide de Wireshark. Si j'utilise netcat depuis le terminal sur le même hôte, j'obtiens une redirection 301 vers une autre adresse .
L'environnement est une machine virtuelle que j'ai construite à des fins de développement / test, où j'ai installé un environnement LEMP (Linux / Nginx / MySQL / PHP). Il s'agit d'une installation propre de CentOS 6 64 bits fonctionnant en tant qu'invité sur un hôte Ubuntu 12.04 64 bits. La machine virtuelle s'exécute en mode NAT avec redirection de port. Je peux ouvrir http://localhost:8080
sur la machine invitée et voir la page d'accueil de nginx. Je peux également ouvrir une page phpinfo , donc je sais que PHP est en cours d'exécution.
J'ai installé les packages nginx, MySQM, PHP et phpMyAdmin chacun séparément. J'utilise les paramètres par défaut de phpMyAdmin. Après avoir installé MySQL, j'ai exécuté la mysql_secure_installation
commande et, entre autres options, j'ai désactivé l'accès root à distance.
Voici mes fichiers de configuration:
la source
Réponses:
Plusieurs raisons m'ont empêché de me connecter à phpMyAdmin:
mbstring
L'erreur 500 génère un message
PHP Fatal error: Call to undefined function mb_detect_encoding() in /usr/share/php/gettext/gettext.inc on line 177
sur le fichier/var/log/php-fpm/www-error.log
. Selon un commentaire sur http://www.php.net/manual/en/mbstring.installation.php, j'ai essayé d'installer lephp-mbstring
package mais il était déjà présent.Le redémarrage du a
php-fpm service
résolu l'erreur 500.sessions php
Après avoir résolu l'erreur précédente, j'ai eu l'erreur suivante:
/etc/phpmyadmin/config.inc.php
avait la lignemais la
session.save_path
variable de PHP est définie sur le/var/lib/php/session
dossier inexistant .La création d'un dossier avec les autorisations appropriées a résolu cette erreur, je peux me connecter correctement.
redirection de barre oblique finale
Si j'essaie d'accéder à n'importe quelle adresse sur ce serveur sans barre oblique de fin à la fin de l'URL, nginx ajoute une barre oblique de fin et en supprime sa
:8080
partie. Cela n'arrive pas si je laisse la barre oblique de fin.(par exemple:
http://localhost:8080/example
est redirigé vershttp://localhost/example/
. Le fait que phpMyAdmin s'exécute à la fois dans la machine virtuelle et sur la machine hôte a ajouté plus de confusion car je verrais la boîte de dialogue de connexion phpMyAdmin, mais sur la mauvaise destination).Cela semble être une erreur nginx courante . J'ai googlé et essayé diverses solutions sans succès. Si je trouve une solution pour mon cas, je mettrai à jour cette réponse.
la source
Les connexions root doivent être autorisées sur le
/etc/phpmyadmin/config.inc.php
fichier de configuration.Ajoutez la ligne suivante:
la source
true
. Je ne l'ai pas défini sur false et il n'est pas présent dans le fichier de configuration.Vérifiez votre
/var/log/nginx/error.log
pour voir ce que dit l'erreur 500.Il semble que vous exécutiez deux configurations (une sur le port 80 et une autre sur 8080) qui peuvent entrer en conflit.
la source