我收到此错误不知道原因
SQLSTATE[HY000] [2002] Permission denied
,这里是我试图上传我的文件的网站example.com
.
发生这种情况是因为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远程服务器的网络连接,设置设置它的布尔变量:
关闭httpd服务 # service httpd stop
# setsebool httpd_can_network_connect 1
# setsebool httpd_can_network_connect_db 1
up httpd服务 # service httpd start
现在您的httpd服务应该能够从数据库服务器获取数据.
我希望这对搜索解决此类错误的团伙有用.
来自智利,最好的问候.
进入.env文件并将DB_HOST = 127.0.0.1更改为DB_HOST = localhost