I am getting this error don't know the reason
SQLSTATE[HY000] [2002] Permission denied
and here is the website on which i am tryiing to upload my file example.com
.
This happens because selinux avoids db connections from the httpd server to the remote db server. To solve it you need to access your server through ssh or just open a console if you have pretencial access and do the following:
You must check in the SELinux if port 80 is managed in. You can check it by typing # semanage port -l | grep http_port_t
for a list and check:
http_port_t tcp 443, 488, 8008, 8009, 8443, 9000
If you need to add the required port, just type:
# semanage port -a -t http_port_t -p tcp 80
Type the command to ckeck once again:
# semanage port -l | grep http_port_t
.
http_port_t tcp 80, 443, 488, 8008, 8009, 8443, 9000
Then you should notify SELinux you want to allow network connections from the httpd server to the db remote server, setting the boolean variables that set it:
# service httpd stop
# setsebool httpd_can_network_connect 1
# setsebool httpd_can_network_connect_db 1
# service httpd start
Now your httpd service should be capable to get data from the db server.
These changes wont remain after a reboot. To make them permanent, instead do the following:
# service httpd stop
# setsebool -P httpd_can_network_connect 1
# setsebool -P httpd_can_network_connect_db 1
# service httpd start
The difference is the "-P" flag.
I hope that can be useful for the gang that searches solve errors like this.
Go in .env file and change DB_HOST=127.0.0.1 to DB_HOST=localhost
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With