SQLSTATE [HY000] [2002]权限被拒绝

Ayy*_*lvi 8 php database database-connection laravel-4

我收到此错误不知道原因 SQLSTATE[HY000] [2002] Permission denied ,这里是我试图上传我的文件的网站example.com.

小智 21

发生这种情况是因为selinux避免了从httpd服务器到远程数据库服务器的数据库连接.要解决此问题,您需要通过ssh访问您的服务器,或者如果您有pretencial acces,只需打开控制台并执行以下操作:

如果管理端口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

键入命令再次ckeck:

# semanage port -l | grep http_port_t

.

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

然后你应该通知SELinux你想允许从httpd服务器到db远程服务器的网络连接,设置设置它的布尔变量:

  1. 关闭httpd服务 # service httpd stop
  2. # setsebool httpd_can_network_connect 1
  3. # setsebool httpd_can_network_connect_db 1
  4. up httpd服务 # service httpd start

现在您的httpd服务应该能够从数据库服务器获取数据.

我希望这对搜索解决此类错误的团伙有用.

来自智利,最好的问候.

  • 为我工作,但重新启动后,这些设置将消失。您将需要使用-P开关(例如#setsebool -P httpd_can_network_connect 1)永久将其制成 (4认同)

小智 5

进入.env文件并将DB_HOST = 127.0.0.1更改为DB_HOST = localhost