Position actuelle: Accueil> Derniers articles> Comment dépanner le problème de l'erreur «Accès refusée» rencontrée par la fonction Connect ()?

Comment dépanner le problème de l'erreur «Accès refusée» rencontrée par la fonction Connect ()?

M66 2025-07-18

Lorsque vous utilisez la fonction connect () pour se connecter à une base de données en PHP, la rencontre de l'erreur "Accès refusée" est un problème courant. Cette erreur indique généralement que les autorisations de connexion à la base de données ne sont pas autorisées, entraînant la défaillance de la connexion. Cet article présentera en détail les idées et les méthodes spécifiques pour dépanner de tels problèmes, vous aidant à localiser et à résoudre rapidement les problèmes.


1. Comprendre le sens de "l'accès refusé"

"Accès refusé" est généralement le serveur de base de données rejette la demande de connexion, ce qui peut être dû:

  • Nom d'utilisateur ou mot de passe incorrect

  • L'hôte connecté n'est pas autorisé à accéder à la base de données

  • Autorisations utilisateur de la base de données insuffisantes

  • Restrictions de configuration du serveur de base de données

Ce type de problème est courant dans les bases de données relationnelles telles que MySQL.


2. Explication détaillée des étapes de dépannage

1. Vérifiez si le nom d'utilisateur et le mot de passe sont corrects

Dans le code PHP, le code se connectant à la base de données est similaire à ce qui suit:

 <?php
$servername = "m66.net";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

// Créer une connexion
$conn = new mysqli($servername, $username, $password, $dbname);

// Vérifiez la connexion
if ($conn->connect_error) {
    die("Échec de la connexion: " . $conn->connect_error);
}
echo "Connexion avec succès";
?>

Confirmez que le nom d'utilisateur $ et le mot de passe $ sont corrects. Un nom d'utilisateur ou un mot de passe incorrect peut provoquer "l'accès refusé".

2. Confirmez si l'hôte connecté a des autorisations

Les autorisations d'utilisateur MySQL sont basées sur une combinaison de nom d'utilisateur et d'hôte, telles que user @ localhost et user@192.168.1.1 sont des comptes différents.

Si vous utilisez une adresse IP ou un hôte distant pour vous connecter, confirmez que l'utilisateur de la base de données a accès à l'hôte correspondant:

 SELECT user, host FROM mysql.user WHERE user='your_username';

Si les autorisations sont insuffisantes, vous pouvez utiliser la commande suivante pour ajouter des autorisations:

 GRANT ALL PRIVILEGES ON your_database.* TO 'your_username'@'your_client_ip' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;

3. Vérifiez si le serveur de base de données est connecté à distance

Par défaut, les serveurs MySQL permettent uniquement les connexions locales. Vous devez confirmer si le paramètre Bind-Address dans le fichier de configuration MySQLD permet l'accès à distance.

Habituellement, le fichier de configuration /etc/mysql/my.cnf est en:

 bind-address = 0.0.0.0

Indique que toutes les connexions IP sont autorisées. S'il s'agit de 127.0.0.1 , seules les connexions locales sont autorisées.

4. Vérifiez les paramètres du pare-feu

Le pare-feu peut empêcher le port de base de données (généralement 3306) de s'ouvrir au public, ce qui entraîne l'incapacité de se connecter. Vous pouvez essayer d'utiliser des commandes pour détecter la connectivité du port:

 telnet m66.net 3306

Si la connexion échoue, vérifiez les paramètres du pare-feu.

5. Utilisez un message d'erreur PHP pour aider à positionner

Lorsque la connexion échoue, mysqli_connect_error () peut donner un message d'erreur spécifique:

 <?php
$conn = new mysqli("m66.net", "your_username", "your_password", "your_database");
if ($conn->connect_error) {
    die("Échec de la connexion: " . $conn->connect_error);
}
?>

En combinaison avec des invites d'erreur, effectuez un dépannage ciblé.


3. Résumé

Lorsque vous rencontrez une erreur "Accès refusé" dans PHP à l'aide de la fonction connect () , vous devez le vérifier dans les aspects suivants:

  • Confirmez si le nom d'utilisateur et le mot de passe sont corrects

  • Confirmez si l'utilisateur de la base de données a accès à l'hôte correspondant

  • Vérifiez la configuration d'accès à distance du serveur de base de données

  • Vérifiez les paramètres du réseau et du pare-feu

  • Utilisez un message d'erreur pour aider à positionner

Grâce aux étapes ci-dessus, vous pouvez essentiellement trouver et résoudre le problème du rejet de connexion.