我收到错误“警告:mysqli :: mysqli():(HY000 / 2005):未知的MySQL服务器主机'127.0.0.1:9306'(0)”。根据netstat命令,端口9306已打开,但无法通过PHP或命令提示符进行连接。命令提示符在端口9306上连接到MySQL,而不是连接到sphinx。

导致此的代码是:

$sphinx = new mysqli('127.0.0.1:9306');


这是在Linux上,Sphinx版本是2.0.4。已尝试使用其他版本,包括2.2.1。

谁能帮我解决这个问题?

这是我的第一个问题,所以让我知道是否需要更改此问题的格式。

最佳答案

重新使用命令行客户端,您可能需要明确告诉它使用tcp

mysql -P 9306 --protocol=tcp


它的反推论是,如果mysql客户端在本地计算机上找到mysql服务器,它将默默地忽略-P参数。

至于PHP,不知道您是否应该使用,但我倾向于使用

$sphinx = new mysqli("127.0.0.1", "", "", "", 9306);


这对我有用。

10-08 18:43