Datenbankfehler verbinden: „Berechtigung verweigert“ auf Localhost
Der Versuch, eine Datenbank über PHP zu verbinden, kann bei der Ausführung auf dem Terminal zu unterschiedlichen Ergebnissen führen im Vergleich zur lokalen Ausführung. Im bereitgestellten Szenario weist der Fehler „Connect DATABASE Error TYPE: 2002: Permission denied“ darauf hin, dass dem Webserver die erforderlichen Berechtigungen für den Zugriff auf die Datenbank fehlen.
Das Problem ist häufig auf SELinux-Sicherheitsrichtlinien zurückzuführen. Standardmäßig ist die Richtlinie „httpd_can_network_connect_db“ deaktiviert, wodurch verhindert wird, dass der Webserver Verbindungen mit Remote-Datenbanken herstellt.
Lösung:
Überprüfen Sie die SELinux-Status von läuft:
getsebool -a | grep httpd
Wenn „httpd_can_network_connect_db“ auf „Aus“ gesetzt ist, aktivieren Sie es mit:
setsebool -P httpd_can_network_connect_db 1
Sobald die SELinux-Richtlinie geändert wird, Der Webserver sollte in der Lage sein, eine Verbindung zur Remote-Datenbank herzustellen und den Fehler „Berechtigung verweigert“ zu beheben.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Berechtigung verweigert', wenn ich eine Verbindung zu meiner Datenbank auf localhost herstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!