修改sphinxapi.php并在Sphinx上重启


Change sphinxapi.php and restart on Sphinx

我应该改变sphinxapi.php,我的sphinxapi.php上(usr/local/sphinx/lib/sphinxapi.php)我改变了它,但我应该怎么做之后使用新的函数?

my PHP:

<?php
            $sphinx = new SphinxClient();
            $sphinx->SetServer($this->config->sphinx->host, $this->config->sphinx->port);
            $sphinx->SetMatchMode(SPH_MATCH_ALL);
            $sphinx->SetLimits(0, 1,1);
..filters...
            $sphinx->RemoveFilter($color['id']);

我的新功能:

 function RemoveFilter ( $attribute )
   {
      assert ( is_string($attribute) );
      foreach($this->_filters AS $key => $filter){
         if($filter['attr'] == $attribute){
            unset($this->_filters[$key]);
            break;
         }
      }
   }

错误:

Fatal error: Call to undefined method SphinxClient::RemoveFilter() in

猜测,您已经修改了sphinx附带的那个,但是应用程序本身使用的是一个不同的 'sphinxapi.php'—可能是本地安装的。

或者即使你已经安装了sphinx扩展,所以它提供的SphinxClient不是'sphinxapi.php " -如果是,卸载扩展。