client version is higher than daemon version (client is v.1.29 daemon is v.1.22)

安装好coreseek,建了索引,启动了服务,用php建了一个test.php,用于测试;<?phpinclude_once('sphinxapi.php');//向搜索引擎发起请求

$cl = new SphinxClient ();
$cl->SetServer ( '10.10.10.10', 9312);
//$cl->getLastError();
//$cl -> getLastWarning();
print_r($cl); $cl->SetConnectTimeout ( 3 ); $cl->SetArrayResult ( true ); $cl->SetMatchMode ( SPH_MATCH_ANY); $cl->SetSortMode ( SPH_SORT_ATTR_ASC,'rank' ); //以排名rank升序排列 $cl->SetLimits(0,2); $query_data = $cl->Query ( '小米', "*" ); ?>

在A台机器执行的结果如下

SphinxClient Object
(
    [_host] => 10.10.10.10
    [_port] => 9312
    [_offset] => 0
    [_limit] => 20
    [_mode] => 0
    [_weights] => Array
        (
        )

    [_sort] => 0
    [_sortby] =>
    [_min_id] => 0
    [_max_id] => 0
    [_filters] => Array
        (
        )

    [_groupby] =>
    [_groupfunc] => 0
    [_groupsort] => @group desc
    [_groupdistinct] =>
    [_maxmatches] => 1000
    [_cutoff] => 0
    [_retrycount] => 0
    [_retrydelay] => 0
    [_anchor] => Array
        (
        )

    [_indexweights] => Array
        (
        )

    [_ranker] => 0
    [_maxquerytime] => 0
    [_fieldweights] => Array
        (
        )

    [_overrides] => Array
        (
        )

    [_select] => *
    [_error] =>
    [_warning] =>
    [_connerror] =>
    [_reqs] => Array
        (
        )

    [_mbenc] =>
    [_arrayresult] =>
    [_timeout] => 0
    [_path] =>
    [_socket] =>
)

 在B台机器执行的结果如下:

SphinxClient Object
(
    [error] =>
    [warning] =>
)

 

通过PHP的调试信息,根本没有发现任何错误输出;请教了一个大神,他用 strace -s 1000 -f -o test.log php test.php ,分析 test.log ,发现了如下的错误

google了一番,通过在A,B 两台执行php --ini ,php -m 发现A机器中有php的sphinx扩展,而B机器中没有,终于找到具体的原因了。将A机器中的sphinx扩展去掉,重启php-fpm,就ok 了。

service php-fpm restart

 

posted on 2015-12-02 18:13  mingaixin  阅读(955)  评论(0编辑  收藏  举报