Cannot connect to MySQL through PHP Cannot connect to MySQL through PHP apache apache

Cannot connect to MySQL through PHP


Wait Wait Wait ... I think I found it ...

RTM they said :-) It's all at http://php.net/manual/fr/function.mysql-connect.php :

Bruce Kirkpatrick - 28-Oct-2009 05:48 :
On Windows Vista or above, an entry in the Windows/System32/drivers/etc/hosts file causes mysql_connect() connections to "localhost" to timeout and never connect. This happens on php 5.3 and above since it now uses mysql native driver which has changed it connection behavior compared to libmysql.dll in previous versions. It is not a PHP bug, but definitely a configuration issue for users on new windows systems.

To get around this, you must remove the entry like this:
::1 localhost

and make sure you still have:
127.0.0.1 localhost

Also, you could change the code to connect to the ip instead, but that is inconvenient if you have many web sites.

This issue occurs on Windows Vista, Windows 7 and Windows Server 2008.

In fact it works with

$host = "127.0.0.1";

Thanks for your interest !


In case you whant localhost to work, you could edit your hosts file in C:\Windows\System32\drivers\etc., or use another dns


It's simple in win7/vista there's is a localhost bug. If you use you computername instead of "localhost" it should work.

Happy php'ing