有谁知道php如何从mysql请求数据?
如果我在与php相同的机器上安装了mysql,它是否在端口3306上打开了与localhost的tcp连接,还是有其他方式获取数据?
在linux和windows中它是一样的吗?
由于
答案 0 :(得分:8)
如果可用,它使用unix套接字,否则使用localhost。
请注意即使您在连接字符串中指定localhost ,它也会尝试使用速度更快的“unix socket”(如果可用)
答案 1 :(得分:3)
除非在连接字符串中使用IP地址,否则PHP通常会打开在/tmp/mysql.sock中找到的本地管道以连接到本地版本的服务器。
答案 2 :(得分:0)
PHP打开与端口3306的连接是服务器通过TCP来允许数据通信。因此,您可以在mysql(i)_connect等中指定要连接的端口,以及为什么需要为mysql配置防火墙规则。
在Windows中与Linux相同
是的,TCP:)
编辑:修订版,在linux中,php看起来通过/tmp/mysql.sock连接到mysql,tmp目录需要具有正确的权限。