【问题标题】:SphinxApi and Query Seeming to HangSphinxApi 和查询似乎挂起
【发布时间】:2012-08-08 00:49:57
【问题描述】:

当使用 SphinxAPI 从 PHP 以编程方式访问 Sphinx 时,查询命令会导致我的 Web 浏览器思考大约 30 秒,然后在没有任何日志消息的情况下失败(或者可能是超时?)。所以这是我的代码:

$cl = new SphinxClient();
$cl->SetServer("localhost", 9312);
$res = $cl->query($query, "isp");

此时执行停止,好像发生了一些错误,但没有登录到我的 sphinx.conf 文件的 logquery_log 位置。

对于我的 sphinx.conf 文件,缩写部分是:

searchd {
    listen = 9312
    listen = 9306:mysql41
    log = {$MY_BASE}\ISP_Sphinx\log\searchd.log
    query_log = {$MY_BASE}\ISP_Sphinx\log\query.log
    read_timeout = 5
    client_timeout = 300
    max_children = 30
    pid_file = {$MY_BASE}\ISP_Sphinx\log\searchd.pid
    {$ETC, ETC, ETC}
}

在 DOS 提示符下,搜索工具按预期工作。

我搜索了作为 Windows 服务运行的,如 SphinxSearch site 中所述。如果有人关心,我可以发布更多 sphinx.conf。这种情况似乎与我在 Google 上看到的任何其他情况都不匹配。有时这是一个端口问题,可以在其他问题中看到,但我认为这里不是这样。

那么是什么导致查询命令思考并失败,或者至少在其他地方可能会转储错误?我还检查了 Apache2 日志,没有关于这个问题的任何内容。

【问题讨论】:

  • localhost 应该是一个变量吗?您的第二行中缺少 ;
  • 感谢您的收获。抱歉,我不能剪切和粘贴,那行在我的代码中确实有正确的语法
  • 你能用127.0.0.1替换localhost吗?我们遇到了一个问题,这是一个已知问题:mediawiki.org/wiki/Extension:SphinxSearch/…
  • @Mathieu,让它成为答案 :) 是的,这就是问题所在
  • 酷,会的。我遇到了缓慢的查询,但是没有超时,这就是为什么我不确定这是问题所在。

标签: php windows-7 apache2 sphinx


【解决方案1】:

在 Sphinx for Windows 中使用 localhost 是一个已知问题。请将localhost 替换为127.0.0.1

SphinxSearch/Troubleshooting中所述:

Windows Vista 和 Windows 7 在 $wgSphinxSearch_host 维护为 localhost 时出现问题,因此建议使用 127.0.0.1 代替 localhost 来代替

【讨论】:

  • 谢谢,否则我不知道怎么才能找到。这是解决方案
【解决方案2】:

试试

listen = 127.0.0.1:9312

并更新 sphinx 版本,旧版本错误(src/sphinxstd.h,第 1389 行)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 2017-01-15
    • 2015-06-19
    • 2021-06-02
    • 1970-01-01
    相关资源
    最近更新 更多