【发布时间】: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 文件的 log 或 query_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