sphinx-yii
sphinx-yii copied to clipboard
include(SphinxClient.php): failed to open stream: No such file or directory
При такой конфигурации компонента, вылетает Fatal error: "include(SphinxClient.php): failed to open stream: No such file or directory":
'sphinxAPI' => [
'class' => 'vendor.sergebezborodov.sphinx-yii.ESphinxApiConnection', // sphinx api mode
//'class' => 'vendor.sergebezborodov.sphinx-yii.ESphinxMysqlConnection', // for sphinx ql mode
'server' => ['127.0.0.1', 9306],
'connectionTimeout' => 3, // optional, default 0 - no limit
'queryTimeout' => 5, // optional, default 0 - no limit
],
Последюущий вызов в контроллере:
/** @var $sphinx ESphinxMysqlConnection */
$sphinx = Yii::app()->sphinxAPI;
echo '<pre>';
print_r($sphinx);
exit;
Почему не подключается класс SphinxClient? И как решить эту проблему?
приветствую, нужно скачать исходники сфинкса, там в подпапке будет файл sphinxapi.php его нужно заинклудить, в нем и есть реализация класса SphinxClient
Это я уже догадался. А нельзя ли зафиксировать этот момент в самом определении класса class ESphinxApiConnection extends ESphinxBaseConnection, включив в самое его начало строчку?
require_once dirname(__FILE__) . '/sphinxapi-2.1.1.php';
class ESphinxApiConnection extends ESphinxBaseConnection {
}
Тогда бы с вашим пакетом поставлялся бы и сам sphinxapi, который бы не требовалось подключать явно. А при отработке конструктора этого класса не было бы Fatal error. Тем более в вашем пакете уже есть такой исходник, который можно было бы использовать по умолчанию.