web-dev-qa-db-ja.com

SQLSTATE [HY000] [2002]権限が拒否されました

このエラーが発生しました。理由はわかりませんSQLSTATE[HY000] [2002] Permission deniedそしてここに私がファイルをアップロードしようとしているウェブサイトがありますexample.com

10
Ayyan Alvi

これは、selinuxがhttpdサーバーからリモートdbサーバーへのdb接続を回避するために発生します。それを解決するには、sshを介してサーバーにアクセスするか、偽のアクセス権がある場合はコンソールを開いて次の操作を行う必要があります。

ポート80が管理されている場合は、SELinuxをチェックインする必要があります。リストを確認するには、# semanage port -l | grep http_port_tと入力してチェックします。

http_port_t tcp 443, 488, 8008, 8009, 8443, 9000

必要なポートを追加する必要がある場合は、次のように入力します。

# semanage port -a -t http_port_t -p tcp 80

もう一度確認するコマンドを入力します。

# semanage port -l | grep http_port_t

http_port_t tcp 80, 443, 488, 8008, 8009, 8443, 9000

次に、httpdサーバーからdbリモートサーバーへのネットワーク接続を許可することをSELinuxに通知し、ブール変数を設定して設定します。

  1. Httpdサービスを停止# service httpd stop
  2. # setsebool httpd_can_network_connect 1
  3. # setsebool httpd_can_network_connect_db 1
  4. Httpdサービスのアップ# service httpd start

これで、httpdサービスはdbサーバーからデータを取得できるようになります。

検索がこのようなエラーを解決するギャングに役立つことを願っています。

チリから、よろしく。

24
Drumsman

.envファイルに移動し、DB_Host = 127.0.0.1をDB_Host = localhostに変更します。

9
Hervera

たぶん、あなたはこのようにselinuxをシャットダウンする必要があります

setenforce 0
1
rick roder