当您仅使用“ localhost”时,MysqL客户端库将尝试使用Unix域套接字进行连接,而不是TCP / IP连接。该错误告诉您,名为的套接字MysqL
无法用于建立连接,可能是因为该套接字不存在(错误编号2)。
从MySQL文档:
在Unix上,MysqL程序特别对待主机名localhost,与其他基于网络的程序相比,它可能与您期望的不同。为了连接到本地主机,MysqL程序尝试使用Unix套接字文件连接到本地服务器。即使给 –port或-P选项指定端口号,也会发生这种情况。为确保客户端与本地服务器建立TCP / IP连接,请使用–host或- h指定主机名值127.0.0.1,或本地服务器的IP地址或名称。您也可以使用–protocol = TCP选项来显式指定连接协议,即使是本地主机也是如此。
$db = new MysqLi('localhost', 'kamil', '***', '', 0,
'/var/run/MysqLd/MysqLd.sock')