狮身人面像Api和查询似乎挂起


SphinxApi and Query Seeming to Hang

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

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

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

对于我的 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站点所记录的那样。 我可以发布更多的狮身人面像.conf,有人关心。 这种情况似乎与我在谷歌上看到的任何其他情况都不匹配。 有时这是一个端口问题,可以在其他问题中看到,但我认为这里不是这样。

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

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

如SphinxSearch/Troublecasing中所述:

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

试试

listen = 127.0.0.1:9312

并更新狮身人面像版本,旧版本错误(src/sphinxstd.h,第 1389 行)