localhost
в mysql_connect()
подключение быстрее, чем 127.0.0.1
? mysql_connect()
)? Это TCP / IP? «localhost» означает локальное соединение сокетов, а 127.0.0.1 – TCP / IP. И да, сокеты быстрее TCP / IP.
Cite из http://pl.php.net/mysql_connect
Всякий раз, когда вы укажете «localhost» или «localhost: port» в качестве сервера, клиентская библиотека MySQL переопределит это и попытается подключиться к локальному сокету (именованный канал в Windows). Если вы хотите использовать TCP / IP, используйте «127.0.0.1» вместо «localhost». Если клиентская библиотека MySQL пытается подключиться к неправильному локальному сокету, вы должны установить правильный путь, как в вашей конфигурации PHP, и оставить поле сервера пустым.
Нет, 127.0.0.1 рекомендуется использовать, поскольку Windows 7 имеет проблемы с выбором между IPv6 и IPv4. Я попробовал это, и если бы я использовал localhost, страница перезагрузилась около 1сек (1,04 сек), и когда я использовал 127.0.0.1, страница перезагрузила 50 мс. Оба были использованы под Windows 7.
В Windows XP это не делает разницы.
Сайт Php говорит:
Заметка:
Всякий раз, когда вы укажете «localhost» или «localhost: port» в качестве сервера, клиентская библиотека MySQL переопределит это и попытается подключиться к локальному сокету (именованный канал в Windows). Если вы хотите использовать TCP / IP, используйте «127.0.0.1» вместо «localhost». Если клиентская библиотека MySQL пытается подключиться к неправильному локальному сокету, вы должны установить правильный путь, как в вашей конфигурации PHP, и оставить поле сервера пустым.
Я предполагаю, что разница в скорости будет слишком низкой, и это то, о чем вы не должны беспокоиться.
Для Unix добавьте в клиентский блок после [client]
в /etc/mysql/my.cnf эту строку:
protocol=tcp
Для macs, вот решение:
Подключитесь к MySQL, используя localhost вместо 127.0.0.1 на MAC. В течение долгого времени я подключался к MySQL на моей платформе разработки с 127.0.0.1, потому что по какой-то причине localhost не работал. Оказывается, это потому, что 127.0.0.1 использует TCP / IP, а localhost использует сокеты. Файл php.ini указывает на неправильное место для mysql.sock, поэтому все, что вам нужно сделать, это изменить его, перезапустить apache и voila!
Open php.ini: /private/etc/php.ini Find the following line: mysql.default_socket = /var/mysql/mysql.sock Replace with: mysql.default_socket = /tmp/mysql.sock Restart apache: apachectl restart
Примечание. Если у вас нет файла php.ini, вам необходимо скопировать предоставленный по умолчанию метод php.ini.default
sudo cp /private/etc/php.ini.default /private/etc/php.ini
через http://madproject.com/general/connect-to-mysql-using-localhost-instead-of-127-0-0-1-on-a-mac/