我应该改变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 " -如果是,卸载扩展。