note 94316 added to function.mysql-connect
| From: | BruceKirkpatrick at osu1 dot php dot net | Date: | Wed, 28 Oct 2009 17:48:11 +0000 |
| Subject: | note 94316 added to function.mysql-connect | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-162202@lists.php.net to get a copy of this message | ||
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.
I lost MANY hours on this small change and found the answer in a closed PHP report that was kind of
ignored. PHP Team: Perhaps this should be in the windows installation manual?
This issue occurs on Windows Vista, Windows 7 and Windows Server 2008.
----
Server IP: 69.147.83.197
Probable Submitter: 72.188.135.243
----
Manual Page -- http://www.php.net/manual/en/function.mysql-connect.php
Edit -- https://master.php.net/note/edit/94316
Del: integrated -- https://master.php.net/note/delete/94316/integrated
Del: useless -- https://master.php.net/note/delete/94316/useless
Del: bad code -- https://master.php.net/note/delete/94316/bad+code
Del: spam -- https://master.php.net/note/delete/94316/spam
Del: non-english -- https://master.php.net/note/delete/94316/non-english
Del: in docs -- https://master.php.net/note/delete/94316/in+docs
Del: other reasons-- https://master.php.net/note/delete/94316
Reject -- https://master.php.net/note/reject/94316
Search -- https://master.php.net/manage/user-notes.php