web-dev-qa-db-fra.com

ERREUR: SQLSTATE [HY000] [2002] Aucune connexion n'a pu être établie car la machine cible l'a activement refusée.

Une erreur s'est produite soudainement pendant que je déboguais mon code. Il a cette série d'erreurs concernant la connexion à la base de données.

ERROR: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.
( ! ) Fatal error: Uncaught exception 'PDOException' with message ' in C:\wamp\www\web\main\users.php on line 15
( ! ) PDOException: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it. in C:\wamp\www\web\main\users.php on line 15

c'est le code d'où l'erreur pointe

function __construct()
        {
            $this->con = new PDO("mysql:Host=".$this->Host.";dbname=".$this->db,$this->user,$this->pass);
        }

Je ne sais pas quoi faire car je n'ai généralement pas de problèmes de ce genre, donc je n'ai pas beaucoup étudié le wamp. Merci de votre aide.

12
user3406220

Si l'icône WAMP est orange, l'un des services n'a pas encore démarré. 

Dans votre cas, il semblerait que MySQL n’ait pas encore démarré car vous obtenez le message indiquant que il n’existe aucun serveur en cours d’exécution et qui écoute donc les requêtes. 

Regardez le journal mysql et si cela ne vous dit rien, regardez le journal des événements Windows, dans la section Windows -> Applications. Les messages d'erreur permettent d'identifier la cause de l'échec de MySQL à démarrer.

Parfois, cela est dû à un fichier my.ini d’une autre installation qui est récupéré par WAMPServers MySQL, normalement dans les dossiers\windows ou\windows\system32. Effectuez une recherche sur 'my.ini' et 'my.cnf' et si vous en trouvez une en dehors de la structure de dossiers\wamp ...., supprimez-la ou au moins renommez-la pour qu'elle ne soit pas trouvée. Puis redémarrez le service MySQL.

23
RiggsFolly

J'ai eu un problème similaire lors de la migration d'un site Web Drupal d'un hôte local vers un autre. De Mac sous XAMMP à Windows sous WAMP.

C'était le message d'erreur que je continuais à recevoir lorsque j'essayais d'accéder aux pages du site Web.

PDOException: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it. 
in drupal_get_installed_schema_version() (line 155 of C:\wamp\www\chia\includes\install.inc).

Dans settings.php, j'ai tout changé correctement: nom de la base de données, utilisateur et mot de passe.

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'mydatabasename',
      'username' => 'mydbusername',
      'password' => 'mydbpass',
      'Host' => 'localhost',
      'port' => '8889',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

Après quelques heures de recherche google stupide, j'ai changé le port en une valeur vide:

'port' => '',

Et après cela, le site s'est chargé correctement.

8
igorM

Utiliser éventuellement Port pour MySQL différent de celui utilisé dans votre code

 enter image description here

$conn = new PDO("mysql:Host=".SERVER_NAME.";port=3307;dbname=".DB_NAME, DB_USER, DB_PASS);

Les deux ports devraient être identiques.

1
ntthushara

Redémarrez votre serveur wamp ... cela devrait le résoudre ... et si ce n'est pas le cas ...

1
David O

Redémarrez simplement votre serveur wamp puis lancez php bin/magento cache: clean

0
Muhammad Ahmed

Supprimez les fichiers suivants du répertoire:

\wamp\bin\mysql\mysql5.6.17\ib_logfile0
\wamp\bin\mysql\mysql5.6.17\ib_logfile1
\wamp\bin\mysql\mysql5.6.17\ibdata1

Cela a résolu mon problème.

0
Nithiyakumar K