本地主机与127.0.0.1
- 在
mysql_connect()
使用localhost
会使连接比使用127.0.0.1
更快吗? - PHP脚本和mySQL之间的连接types是什么(当使用
mysql_connect()
函数时)? 它是TCP / IP?
- Windows和Linux不同。 如果你使用unix域套接字,它会比使用TCP / IP稍快(因为你有更less的开销)。
- Windows使用TCP / IP作为默认值,而如果您select本地主机和TCP / IP(如果采取127.0.0.1),则Linux会尝试使用Unix域套接字。
“localhost”表示本地套接字连接,而127.0.0.1表示TCP / IP。 是的,套接字比TCP / IP更快。
引用http://pl.php.net/mysql_connect
每当你指定“localhost”或“localhost:port”作为服务器时,MySQL客户端库将会覆盖这个并尝试连接到本地套接字(在Windows上命名pipe道)。 如果您想使用TCP / IP,请使用“127.0.0.1”而不是“localhost”。 如果MySQL客户端库尝试连接到错误的本地套接字,则应该在PHPconfiguration中设置正确的path,并将服务器字段留空。
不,build议使用127.0.0.1,因为Windows 7在IPv6和IPv4之间select有问题。 我试过这个,如果我用本地主机,页面重新加载约1秒(1,04秒),当我使用127.0.0.1,页面重新加载50毫秒。 两者都在Windows 7下使用。
在Windows XP中,它没有什么区别。
Php网站说:
注意:
每当你指定“localhost”或“localhost:port”作为服务器时,MySQL客户端库将会覆盖这个并尝试连接到本地套接字(在Windows上命名pipe道)。 如果您想使用TCP / IP,请使用“127.0.0.1”而不是“localhost”。 如果MySQL客户端库尝试连接到错误的本地套接字,则应该在PHPconfiguration中设置正确的path,并将服务器字段留空。
我想速度差太小了,你不应该担心。
对于Unix,在/etc/mysql/my.cnf这一行中的[client]
之后添加到客户端块:
protocol=tcp
对于Mac,这里是解决scheme:
在MAC上使用本地主机而不是127.0.0.1连接到MySQL。 很长一段时间以来,我一直在使用127.0.0.1在我的开发平台上连接到MySQL,因为某些原因localhost不工作。 原来是因为127.0.0.1使用TCP / IP和本地主机使用套接字。 php.ini文件指向mysql.sock的错误位置,所以你只需要改变它,重新启动Apache和瞧!
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/