データベース接続エラー: Localhost で「アクセス許可が拒否されました」
PHP 経由でデータベースに接続しようとすると、ターミナルで実行すると異なる結果が生じる可能性がありますローカルで実行した場合と比較します。提供されているシナリオでは、「Connect DATABASE Error TYPE: 2002: Permission Deny」というエラーは、Web サーバーにデータベースへのアクセスに必要な権限がないことを示しています。
この問題は、SELinux セキュリティ ポリシーに起因することがよくあります。デフォルトでは、ポリシー「httpd_can_network_connect_db」は無効になっており、Web サーバーがリモート データベースとの接続を確立することが禁止されています。
解決策:
次の実行による SELinux ステータス:
getsebool -a | grep httpd
「httpd_can_network_connect_db」が「オフ」に設定されている場合は、次のコマンドで有効にします:
setsebool -P httpd_can_network_connect_db 1
SELinux ポリシーが変更されると、Web サーバーはリモート データベースに接続できるようになり、「アクセスが拒否されました」エラーが解決されます。
以上がローカルホスト上のデータベースに接続すると「アクセスが拒否されました」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。