Это не работает с моей установкой PHP 5.3.3 в WAMP / Windows 7:
mysql_connect('localhost', 'root', '');
После Maximum execution time
появляется эта ошибка:
Предупреждение:mysql_connect () [function.mysql-connect]: [2002] Попытка подключения не удалась, потому что подключенная сторона этого не сделала (пытается подключиться через tcp: // localhost: 3306)
Предупреждение: mysql_connect () [function.mysql-connect]: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, так как подключенный хост не смог ответить.
Это работает:
mysql_connect('127.0.0.1', 'root', '');
Мне интересно, как это связано с этим, из PHP документов :
Всякий раз, когда вы указываете "localhost" или "localhost:порт "как сервер, клиентская библиотека MySQL переопределит это и попытается подключиться к локальному сокету (именованный канал в Windows).Если вы хотите использовать TCP / IP, используйте «127.0.0.1» вместо «localhost».Если клиентская библиотека MySQL пытается подключиться к неправильному локальному сокету, вы должны установить правильный путь, как в вашей конфигурации PHP, и оставить поле сервера пустым.
Это из моего php.ini:
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysql.default-socket
mysql.default_socket =
Это ошибка или что происходит?
Обновление : я использую MySQL 5.1.36 что-то, и я могу подключитьсяк этому иначе.Забыл упомянуть, но это работает с PHP 5.3.0 и 5.2.11.Конечно, я могу просто изменить localhost
на 127.0.0.1
, но я хочу знать, почему я не могу использовать localhost
.
Обновление 2 : Добавление (раскомментирование)127.0.0.1 localhost
чтобы файл hosts заставил его работать.Но зачем это нужно?