Échec de la connexion PHP: SQLSTATE [HY000] [2002] refus de connexion

la situation est la suivante, j'essaie d'utiliser une connexion PHP pour connecter ma base de données MySQL qui est sur phpmyadmin. Rien de fantaisiste à propos de la connexion juste essayer de voir si la connexion est réussie ou pas. J'utilise MAMP pour héberger la base de données, la connexion que j'essaie d'utiliser est la suivante:

<?php
$servername = "127.0.0.1";
$username = "root";
$password = "root";

try {
    $conn = new PDO("mysql:host=$servername;dbname=AppDatabase", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
}
catch(PDOException $e)
{
    echo "Connection failed: " . $e->getMessage();
}
?>

j'ai utilisé postman pour tester pour voir si la connexion fonctionne, mais je continue à recevoir ce message d'erreur:

échec de la connexion: SQLSTATE [HY000] [2002] Connexion refusée

avant de recevoir un message d'erreur de:

échec de la connexion: SQLSTATE [HY000] [2002] aucun fichier ou répertoire

C'était parce que j'avais défini le servername à localhost, en changeant ceci à l'adresse IP qu'il m'a donné la connexion a refusé et je n'ai aucune idée de ce qui ne va pas.

toute aide à ce sujet serait appréciée, merci.

23
demandé sur Alex 2015-04-01 18:57:49

1 réponses

j'ai trouvé la raison pour laquelle la connexion ne fonctionnait pas, c'était parce que la connexion essayait de se connecter au port 8888, quand elle avait besoin de se connecter au port 8889.

$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password); 

ceci a corrigé le problème, bien que changer le nom du serveur en localhost donne toujours l'erreur.

échec de la connexion: SQLSTATE [HY000] [2002] aucun fichier ou répertoire

mais il se connecte avec succès lorsque l'adresse IP est entrée pour le nom du serveur.

23
répondu Jack Smith 2015-04-01 21:15:06