One of the things I wish I had found in Google faster when trying to figure out why PHP script refuses to connect to remote MySQL server issuing an error
SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'xxx.xxxx.xxx.xxx' (13)
I am able to connect from local shell, so first thought was if something wrong with recent Zend Framework upgrade, but after a while I figured out that answer is very simple – SELinux was blocking remote connections from PHP scripts executed by Apache web server. The error code (13) at the end of error message means “permission denied”, so that’s the indication to see if you have similar issue or not.
Anyway, login as root and do
setsebool -P httpd_can_network_connect=1
to make it work.
Of course, think twice because you make web server a bit less secure, so don’t do that unless you are sure you need it.
Thanks! you saved me so much time!
That was exactly my problem. I would imagine that phpmyadmin talking to remote mysql will require this change.
Thanks very much.. spent ages trying to sort this problem out!!
Thanks Again
This came in handy just now. Thankfully I found your blog before I spent even more time debugging.
Thanks again.
Thanks a lot. Really helped and saved some time
Hello
,
As opposed to you, Google helped me and I found your post !
Thanks a lot !!! You saved me a lot of troubleshooting time !!
Cheers,
M@tt
Thanks!! It saved me from more frustration. Upgraded from one linux version to other and started with this…..THNX
Thanx a lot It help me toooo. Thanx again
for mac go to system preferences -> network-> sharing->web sharing on .. to enable httpd connections