Maison >base de données >tutoriel mysql >Pourquoi est-ce que je reçois une erreur « Autorisation refusée » lors de la connexion locale à ma base de données MySQL à l'aide de PHP ?

Pourquoi est-ce que je reçois une erreur « Autorisation refusée » lors de la connexion locale à ma base de données MySQL à l'aide de PHP ?

DDD
DDDoriginal
2024-11-03 02:18:03499parcourir

Why Am I Getting a

Erreur d'autorisation refusée lors de la connexion à la base de données via Localhost

Lors d'une tentative de connexion à une base de données MySQL à l'aide de PHP, les utilisateurs rencontrent souvent le redoutable Problème "Erreur : impossible de se connecter à MySQL. Numéro d'erreur de débogage : 2002 Erreur de débogage : autorisation refusée » lors de l'exécution du script localement, malgré une exécution réussie sur la ligne de commande.

Plonger dans le problème

En étudiant cette dichotomie déroutante, il apparaît que les politiques de sécurité de SELinux en sont le coupable sous-jacent. Par défaut, la politique "httpd_can_network_connect_db" est désactivée, empêchant le serveur web d'établir une connexion avec une base de données distante.

Vérification de la politique

Pour confirmer cette hypothèse, exécutez la commande suivante :

getsebool -a | grep httpd

Si « httpd_can_network_connect_db » est défini sur « Off », passez à la solution ci-dessous.

Résolution du problème

Pour remédier à la situation, la politique doit être activée en permanence. Ceci est réalisé à l'aide de la commande suivante :

setsebool -P httpd_can_network_connect_db 1

En permettant au serveur Web de communiquer avec la base de données distante, cette modification résout l'erreur d'autorisation refusée, ouvrant la voie à une connectivité transparente de la base de données depuis l'application Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn