Yii2 sphinx в чем ошибка?

Собственно на хостинге включил sphinx, установил расширение в yii2, вроде все настроил но при поиске вываливается ошибка

SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected
The SQL being executed was: SHOW TABLES

что я сделал не так?
вот настройки все.
это в web.php
'sphinx' => [
            'class' => 'yii\sphinx\Connection',
            'dsn' => 'mysql:host=localhost;port=9306;',
            'username' => '*****',
            'password' => '*****',
        ],

это бд
'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;port=9306;dbname=theodo_rentin',
    'username' => '*******',
    'password' => '********',
    'charset' => 'utf8',


это сам sphinx
source rentin
{
	type = mysql
	sql_host = localhost
	sql_user = ******
	sql_pass = ******
	sql_db = theodo_rentin
	sql_port = 9306
	sql_query_pre = SET NAMES utf8
	sql_query = SELECT id, title, description FROM post
	sql_attr_uint = id
	sql_field_string = title
	sql_field_string = description
}

index idx_post
{
	source = rentin
	path = /var/lib/sphinx/data/idx_post
	morphology = stem_enru
	min_word_len = 2
	index_exact_words = 1
	expand_keywords = 1
	html_strip = 1
	min_infix_len = 2
}

indexer
{
	mem_limit = 240M
}

searchd
{
	log = /var/log/sphinx/searchd.log
	query_log = /var/log/sphinx/query.log
	pid_file = /var/run/sphinx/searchd.pid
	listen = 9312
	listen = 9306:mysql41
}
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 1
ivankomolin
@ivankomolin
Проблема кроется в этой строке:
'dsn' => 'mysql:host=localhost;port=9306;'

Это очень не очевидно, но при настройках по-умолчанию, если host указан как localhost, то mysql драйвер игнорирует TCP и обращается к сокету напрямую.
Поэтому секция sphinx в настройках создает подключение к mysql серверу вместо sphinx.

Для решения проблемы необходимо либо указать 127.0.0.1 вместо localhost либо добавить параметр, который жестко указывает использовать протокол tcp
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы