recherche

Maison  >  Questions et réponses  >  le corps du texte

Erreur de connexion à la base de données : type d'erreur 2002 – Autorisation refusée

<p>J'essaie de me connecter à la base de données à l'aide du script suivant (cxn-test.php)</p> <pre class="brush:php;toolbar:false;"><?php $hôte = '155.30.136.20';//IP virtuelle $utilisateur = 'abc_user' ; $pass = 'xxxxxxxxx'; $dbname = 'bienvenue'; $link = mysqli_connect($host, $user, $pass,$dbname); si ($lien) { echo "Erreur : Impossible de se connecter à MySQL .PHP_EOL ; echo "Numéro d'erreur de débogage :" mysqli_connect_errno() . echo "Message d'erreur de débogage :" mysqli_connect_error() . sortie; }autre { echo "succès" .PHP_EOL; }</pré> <p>Quand je l'essaye sur le terminal</p> <blockquote> <p>php cxn-test.php //Succès</p> </blockquote> <p>Mais lorsque je l'essaye sur localhost, j'obtiens l'erreur suivante : </p> <blockquote> <p>curl -s http://localhost/cxn-test.php</p> </blockquote> <p><code>Erreur : Impossible de se connecter à MySQL. Numéro d'erreur de débogage : 2002 Message d'erreur de débogage : Autorisation refusée</code></p> <p>C'est un problème étrange, cela ne fonctionne pas sur localhost mais fonctionne bien sur la ligne de commande. </p>
P粉757640504P粉757640504457 Il y a quelques jours538

répondre à tous(1)je répondrai

  • P粉041881924

    P粉0418819242023-08-25 17:08:22

    J'ai rencontré le même problème après avoir obtenu une nouvelle boîte CentOS 7 exécutant SELinux. Je peux me connecter au serveur de base de données MySQL distant via la ligne de commande, mais Drupal (et le script PHP de test) ne peut pas se connecter.

    Le problème a finalement été causé par la politique de sécurité de SELinux.

    Par défaut, la politique httpd_can_network_connect_db est désactivée (ce qui signifie que votre serveur Web ne peut pas contacter la base de données distante).

    Vérifiez avec la commande suivante :

    getsebool -a | grep httpd

    Si httpd_can_network_connect_db est désactivé, veuillez l'activer avec la commande suivante :

    setsebool -P httpd_can_network_connect_db 1

    (L'indicateur -P rend les modifications permanentes, de sorte que les paramètres restent en vigueur lors des redémarrages.)

    répondre
    0
  • Annulerrépondre