PHP:使用127.0.0.1连接到主机IP上的db和

时间:2012-08-08 18:32:16

标签: php database hosting localhost

当我连接到PHP中的mysql数据库,并且db与站点本身在同一台机器上托管时,我可以使用机器的IP,或127.0.0.1

两者之间的表现有差异吗?有什么时候我应该使用127.0.0.1?

4 个答案:

答案 0 :(得分:3)

如果要连接到本地计算机,则应始终使用localhost127.0.0.1,因为服务器可能拒绝访问任何其他界面。此外,当IP发生变化时,您需要做大量的工作来改变您放置在某处的IP的每一次出现。

然而,环回地址应该稍快一点,但我想没人能以可靠的方式测量它,因此:你不应该在意。无论如何,当您使用环回时(如上所述),那么您就安全了。

答案 1 :(得分:2)

两个请求最终都会在进入接口之前访问内核路由表。除非环回地址具有内核内优化,否则不应有任何影响。

答案 2 :(得分:2)

通过127.0.0.1进行连接可能会有极小的(不明显的)性能优势,因为连接时不需要检查多少防火墙/路由规则。

如果您有选项,请通过unix域套接字连接(通常类似于/tmp/mysql.sock)。通过这种方法连接可以提高性能,并提高安全性。

修改

根据MarcB的评论,显然通过localhost连接会自动尝试通过域套接字进行连接。如上所述,这是首选且性能最佳的方法,

答案 3 :(得分:0)

除非服务器上有一些非常奇怪的网络配置,否则性能应该相同。

至于准则,这取决于,如果您的数据库服务器将来可能会发生变化,您可能应该将该URL存储在某个xml文件或任何文件中,以便应用程序可以在以后读取该配置。通过这样做,您不必担心使用任何IP甚至主机名或localhost。你甚至可以尝试研究DynamicDns。

如果服务器不太可能改变,那么不要太担心。如果服务器ip发生变化,请使用'localhost'而不是任何ip。文件选项仍然是一个很好的做法,但如果你不使用它,它不会对你造成太大伤害。