PHP 无法连接到 Live Site 上的 Sphinx

标签 php mysql sphinx

我收到错误“警告: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);

这对我有用。

关于PHP 无法连接到 Live Site 上的 Sphinx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665041/

相关文章:

php - 检查选择查询的结果然后与当前值比较如果可用则不应插入

python - 无法在 virtualenv 中安装 mysql-connector-python

Sphinx搜索如何使用空的before_match和after_match

mysql - 使用 mysql 或 sphinx 过滤搜索结果中潜在的重复项

php - mysql查询只返回一篇文章

php - 将德国日期转换为 Y-m-d 不起作用?

php - 如何从继承方法中调用 PHP 父方法?

php - 使用 MySQLi 插入 NULL 而不是空值

mysql - 在 HABTM 关系上执行 ActiveRecord 查找时 SQL 速度缓慢

ruby-on-rails - rake 任务已中止,Thinking Sphinx的未定义方法 'indexes'?