Ошибка подключения к серверу sphinx bitrix

 

два сайта на одном сервере(лицензии разные)
сфикс установлен — на одном сайте подключен, работает
для вторго создаю 2 индекс в конфиге
в настройках модуля выбираю использовать сфинкс, указываю новый индекс и получаю ошибку

Код
Ошибка подключения к серверу Sphinx:
Указанный индекс не найден.

вот полный конфиг

Код
indexer
{
   mem_limit      = 32M
}


searchd
{
        listen                  = 127.0.0.1:9312
   listen         = 9306:mysql41
   log         = /var/log/sphinx/searchd.log
   query_log      = /var/log/sphinx/query.log
   read_timeout      = 5
   max_children      = 30
   pid_file      = /var/run/sphinx/searchd.pid
   max_matches      = 1000
   seamless_rotate      = 1
   preopen_indexes      = 1
   unlink_old      = 1
   workers         = threads # for RT to work
   binlog_path      = /var/lib/sphinx
}



source art
{
   type         = mysql
   sql_host      = localhost
   sql_user      = ******
   sql_pass      = *******
   sql_db         = ******
   sql_port      = 3306   # optional, default is 3306
 
   sql_query_pre = SET NAMES utf8
   sql_query_pre = SET CHARACTER SET utf8
 
   sql_query      = \
      SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
      FROM documents
 
 
   sql_attr_uint      = group_id
   sql_attr_timestamp   = date_added
   sql_ranged_throttle   = 0
   sql_query_info      = SELECT * FROM documents WHERE id=$id
 
}

source trv
{
   type         = mysql
   sql_host      = localhost
   sql_user      = ****
   sql_pass      = ****
   sql_db         = ****
   sql_port      = 3306   # optional, default is 3306
 
   sql_query_pre = SET NAMES utf8
   sql_query_pre = SET CHARACTER SET utf8
 
   sql_query      = \
      SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
      FROM documents
 
 
   sql_attr_uint      = group_id
   sql_attr_timestamp   = date_added
   sql_ranged_throttle   = 0
   sql_query_info      = SELECT * FROM documents WHERE id=$id
 
}

index bitrix_art
{
   #main settings
   source         = art
      type = rt
      path = /var/lib/sphinx/bitrix_art
      docinfo = inline
      morphology = stem_enru, soundex
      dict = keywords
      prefix_fields = title
      infix_fields=
      min_prefix_len = 2
      enable_star = 1
      rt_field = title
      rt_field = body
      rt_attr_uint = module_id
      rt_attr_string = module
      rt_attr_uint = item_id
      rt_attr_string = item
      rt_attr_uint = param1_id
      rt_attr_string = param1
      rt_attr_uint = param2_id
      rt_attr_string = param2
      rt_attr_timestamp = date_change
      rt_attr_timestamp = date_to
      rt_attr_timestamp = date_from
      rt_attr_uint = custom_rank
      rt_attr_multi = tags
      rt_attr_multi = right
      rt_attr_multi = site
      rt_attr_multi = param
      charset_type = sbcs
}

index bitrix_trv
{
   #main settings
   source         = trv
      type = rt
      path = /var/lib/sphinx/bitrix_trv
      docinfo = inline
      morphology = stem_enru, soundex
      dict = keywords
      prefix_fields = title
      infix_fields=
      min_prefix_len = 2
      enable_star = 1
      rt_field = title
      rt_field = body
      rt_attr_uint = module_id
      rt_attr_string = module
      rt_attr_uint = item_id
      rt_attr_string = item
      rt_attr_uint = param1_id
      rt_attr_string = param1
      rt_attr_uint = param2_id
      rt_attr_string = param2
      rt_attr_timestamp = date_change
      rt_attr_timestamp = date_to
      rt_attr_timestamp = date_from
      rt_attr_uint = custom_rank
      rt_attr_multi = tags
      rt_attr_multi = right
      rt_attr_multi = site
      rt_attr_multi = param
      charset_type = sbcs
}
 

в чем может быть проблема
при запуске из консоли выдает

Код
indexer --all --rotate
Sphinx 2.0.8-id64-release (r3831)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinx/sphinx.conf'...
skipping non-plain index 'bitrix_art'...
skipping non-plain index 'bitrix_trv'...
total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
 

Как установить Sphinx на битрикс?
нашел на https://beget.com/ru/articles/sphinx_bitrix инструкции, но в разделе «Далее необходимо скопировать конфигурационный файл, представленный на странице настройки, удалив из него строку «infix_fields=». Затем нажать «Применить» сохранив настройки.»
не удается выполнить сохранение, возникает ошибка «Ошибка подключения к серверу Sphinx:
Ошибка подключения (Connection refused). »


  • Вопрос задан

  • 4120 просмотров

Содержание

  1. VMBitrix 7.3.0 в релизе
  2. VMBitrix 7.3.0 в релизе
  3. Александр Резник (Все сообщения пользователя)

VMBitrix 7.3.0 в релизе

Цитата
Андрей написал:
Loading mirror speeds from cached hostfile * Webmin: download.webmin.com

Цитата
Никита Дыбкин написал:
Добрый день! Не уверен что по теме, но может подскажет кто-либо. После включения мониторинга и прошествии длительного времени картина следующая — нагрузка везде по «0» и графики отсутствуют.
Цитата
Никита Дыбкин написал:
Добрый день! Не уверен что по теме, но может подскажет кто-либо. После включения мониторинга и прошествии длительного времени картина следующая — нагрузка везде по «0» и графики отсутствуют.

Никита Дыбкин , исправление в бетке 7.3.13 выходило. Подробности здесь https://dev.1c-bitrix.ru/community/forums/messages/forum32/topic112215/message5732 ­ ­77/#message573277

Аналогичная ситуация на втором сервере. Чистая установка. 3 сайта.
Все работает отлично пока находишься в активной сессии.
При повторном заходе появляется красная надпись

Но у меня и список сайтов вдео и операции внутри ВМ проходят нормально (пока)

Добрый день, коллеги!

Версия окружения 7.3.4.

Всё хорошо, но при попытке создать инстанс sphinx’а появляется ошибка ошибку:
/opt/webdir/bin/menu/07_sphinx/01_create_sphinx_instance.sh: line 22: : command not found

И соответственно после ничего не происходит.

Кто-нибудь уже сталкивался с такой проблемой?

Здравствуйте! Веб окружение 7.3.4

Несколько дней пробую запустить мониторинг, ни в какую.

Файл конфигурации пуст:

[root@server /]# cat /etc/nginx/bx/server_monitor.conf
[root@server /]#

Сами сервисы мониторинга установлены:

[root@server /]# ls /etc/munin/
conf.d munin-node.conf munin.conf plugin-conf.d plugins static templates
[root@server /]# ls /etc/nagios/
bitrix-pool cgi.cfg nagios.cfg nrpe.cfg objects passwd private
[root@server /]#

При установке выходит окно с задачей что сервисы устанавливаются. Проходит минут 5 — и сервис мониторинга disabled, предлагает его начать конфигурировать заново, как ни в чем не бывало

Вот что в конце лога
TASK [monitor : munin-master — create directory for additional configs] ********

ok: [server] TASK [monitor : munin-master — add all hosts fr om default group on monitoring] * ok: [server] TASK [monitor : nagios — create config] **************************************** ok: [server] TASK [monitor : nagios — create bitrix-pool directory] ************************* ok: [server] TASK [monitor : nagios — replace default localhost file] *********************** ok: [server] TASK [monitor : nagios — create commands and default tests definitions] ******** failed: [server] (item=check_nrpe_commands.cfg) => <«changed»: true, «failed»: true, «item»: «check_nrpe_commands.cfg», «msg»: «Destination directory /etc/nagios/conf.d does not exist»>failed: [server] (item=default_tests_for_servers.cfg) => <«changed»: true, «failed»: true, «item»: «default_tests_for_servers.cfg», «msg»: «Destination directory /etc/nagios/conf.d does not exist»>failed: [server] (item=email_commands.cfg) => <«changed»: true, «failed»: true, «item»: «email_commands.cfg», «msg»: «Destination directory /etc/nagios/conf.d does not exist»>to retry, use: —lim it @/etc/ansible/monitor.retry PLAY RECAP ********************************************************************* server : ok=102 changed=30 unreachable=0 failed=1

Цитата
Марк Галич написал:
Добрый день, коллеги!

Версия окружения 7.3.4.

Всё хорошо, но при попытке создать инстанс sphinx’а появляется ошибка ошибку:
/opt/webdir/bin/menu/07_sphinx/01_create_sphinx_instance.sh: line 22: : command not found

И соответственно после ничего не происходит.

Кто-нибудь уже сталкивался с такой проблемой?

ставлю окружение 7.3.4
хочу развернуть резервную копию , но получаю вот это, кто нибуть сталкивался?

Цитата
Андрей Кондуров написал:
ставлю окружение 7.3.4
хочу развернуть резервную копию , но получаю вот это, кто нибуть сталкивался?

и вообще там же написано что за ошибка, вы даже не попытались искать решение

Цитата
Алексей Шафранский написал:
Цитата
Никита Дыбкин написал:
Добрый день! Не уверен что по теме, но может подскажет кто-либо. После включения мониторинга и прошествии длительного времени картина следующая — нагрузка везде по «0» и графики отсутствуют.

Никита Дыбкин , исправление в бетке 7.3.13 выходило. Подробности здесь https://dev.1c-bitrix.ru/community/forums/messages/forum32/topic112215/message5732 ­ ­ ­77/#message573277

То есть, видимо, будет включено в какое-то из дальнейших не BETA обновлениях?

Цитата
Марк Галич написал:
Добрый день, коллеги!

Версия окружения 7.3.4.

Всё хорошо, но при попытке создать инстанс sphinx’а появляется ошибка ошибку:
/opt/webdir/bin/menu/07_sphinx/01_create_sphinx_instance.sh: line 22: : command not found

И соответственно после ничего не происходит.

Кто-нибудь уже сталкивался с такой проблемой?

Цитата
Александр Жидков написал:
Здравствуйте! Веб окружение 7.3.4

Несколько дней пробую запустить мониторинг, ни в какую.

Файл конфигурации пуст:

[root@server /]# cat /etc/nginx/bx/server_monitor.conf
[root@server /]#

Сами сервисы мониторинга установлены:

[root@server /]# ls /etc/munin/
conf.d munin-node.conf munin.conf plugin-conf.d plugins static templates
[root@server /]# ls /etc/nagios/
bitrix-pool cgi.cfg nagios.cfg nrpe.cfg objects passwd private
[root@server /]#

При установке выходит окно с задачей что сервисы устанавливаются. Проходит минут 5 — и сервис мониторинга disabled, предлагает его начать конфигурировать заново, как ни в чем не бывало

Источник

VMBitrix 7.3.0 в релизе

Цитата
Андрей написал:
Loading mirror speeds from cached hostfile * Webmin: download.webmin.com

Цитата
Никита Дыбкин написал:
Добрый день! Не уверен что по теме, но может подскажет кто-либо. После включения мониторинга и прошествии длительного времени картина следующая — нагрузка везде по «0» и графики отсутствуют.
Цитата
Никита Дыбкин написал:
Добрый день! Не уверен что по теме, но может подскажет кто-либо. После включения мониторинга и прошествии длительного времени картина следующая — нагрузка везде по «0» и графики отсутствуют.

Никита Дыбкин , исправление в бетке 7.3.13 выходило. Подробности здесь https://dev.1c-bitrix.ru/community/forums/messages/forum32/topic112215/message5732 ­ ­77/#message573277

Аналогичная ситуация на втором сервере. Чистая установка. 3 сайта.
Все работает отлично пока находишься в активной сессии.
При повторном заходе появляется красная надпись

Но у меня и список сайтов вдео и операции внутри ВМ проходят нормально (пока)

Добрый день, коллеги!

Версия окружения 7.3.4.

Всё хорошо, но при попытке создать инстанс sphinx’а появляется ошибка ошибку:
/opt/webdir/bin/menu/07_sphinx/01_create_sphinx_instance.sh: line 22: : command not found

И соответственно после ничего не происходит.

Кто-нибудь уже сталкивался с такой проблемой?

Здравствуйте! Веб окружение 7.3.4

Несколько дней пробую запустить мониторинг, ни в какую.

Файл конфигурации пуст:

[root@server /]# cat /etc/nginx/bx/server_monitor.conf
[root@server /]#

Сами сервисы мониторинга установлены:

[root@server /]# ls /etc/munin/
conf.d munin-node.conf munin.conf plugin-conf.d plugins static templates
[root@server /]# ls /etc/nagios/
bitrix-pool cgi.cfg nagios.cfg nrpe.cfg objects passwd private
[root@server /]#

При установке выходит окно с задачей что сервисы устанавливаются. Проходит минут 5 — и сервис мониторинга disabled, предлагает его начать конфигурировать заново, как ни в чем не бывало

Вот что в конце лога
TASK [monitor : munin-master — create directory for additional configs] ********

ok: [server] TASK [monitor : munin-master — add all hosts fr om default group on monitoring] * ok: [server] TASK [monitor : nagios — create config] **************************************** ok: [server] TASK [monitor : nagios — create bitrix-pool directory] ************************* ok: [server] TASK [monitor : nagios — replace default localhost file] *********************** ok: [server] TASK [monitor : nagios — create commands and default tests definitions] ******** failed: [server] (item=check_nrpe_commands.cfg) => <«changed»: true, «failed»: true, «item»: «check_nrpe_commands.cfg», «msg»: «Destination directory /etc/nagios/conf.d does not exist»>failed: [server] (item=default_tests_for_servers.cfg) => <«changed»: true, «failed»: true, «item»: «default_tests_for_servers.cfg», «msg»: «Destination directory /etc/nagios/conf.d does not exist»>failed: [server] (item=email_commands.cfg) => <«changed»: true, «failed»: true, «item»: «email_commands.cfg», «msg»: «Destination directory /etc/nagios/conf.d does not exist»>to retry, use: —lim it @/etc/ansible/monitor.retry PLAY RECAP ********************************************************************* server : ok=102 changed=30 unreachable=0 failed=1

Цитата
Марк Галич написал:
Добрый день, коллеги!

Версия окружения 7.3.4.

Всё хорошо, но при попытке создать инстанс sphinx’а появляется ошибка ошибку:
/opt/webdir/bin/menu/07_sphinx/01_create_sphinx_instance.sh: line 22: : command not found

И соответственно после ничего не происходит.

Кто-нибудь уже сталкивался с такой проблемой?

ставлю окружение 7.3.4
хочу развернуть резервную копию , но получаю вот это, кто нибуть сталкивался?

Цитата
Андрей Кондуров написал:
ставлю окружение 7.3.4
хочу развернуть резервную копию , но получаю вот это, кто нибуть сталкивался?

и вообще там же написано что за ошибка, вы даже не попытались искать решение

Цитата
Алексей Шафранский написал:
Цитата
Никита Дыбкин написал:
Добрый день! Не уверен что по теме, но может подскажет кто-либо. После включения мониторинга и прошествии длительного времени картина следующая — нагрузка везде по «0» и графики отсутствуют.

Никита Дыбкин , исправление в бетке 7.3.13 выходило. Подробности здесь https://dev.1c-bitrix.ru/community/forums/messages/forum32/topic112215/message5732 ­ ­ ­77/#message573277

То есть, видимо, будет включено в какое-то из дальнейших не BETA обновлениях?

Цитата
Марк Галич написал:
Добрый день, коллеги!

Версия окружения 7.3.4.

Всё хорошо, но при попытке создать инстанс sphinx’а появляется ошибка ошибку:
/opt/webdir/bin/menu/07_sphinx/01_create_sphinx_instance.sh: line 22: : command not found

И соответственно после ничего не происходит.

Кто-нибудь уже сталкивался с такой проблемой?

Цитата
Александр Жидков написал:
Здравствуйте! Веб окружение 7.3.4

Несколько дней пробую запустить мониторинг, ни в какую.

Файл конфигурации пуст:

[root@server /]# cat /etc/nginx/bx/server_monitor.conf
[root@server /]#

Сами сервисы мониторинга установлены:

[root@server /]# ls /etc/munin/
conf.d munin-node.conf munin.conf plugin-conf.d plugins static templates
[root@server /]# ls /etc/nagios/
bitrix-pool cgi.cfg nagios.cfg nrpe.cfg objects passwd private
[root@server /]#

При установке выходит окно с задачей что сервисы устанавливаются. Проходит минут 5 — и сервис мониторинга disabled, предлагает его начать конфигурировать заново, как ни в чем не бывало

Источник

Александр Резник (Все сообщения пользователя)

Настроил Sphinx средствами ВМ, олучил ошибку /opt/webdir/bin/menu/07_sphinx/01_create_sphinx_instance.sh: line 22, а потом при генерации ТП стали выдваться ошибки

[BitrixMainDBConnectionException]
Sphinx connect error: Ошибка подключения (php_network_getaddresses: getaddrinfo failed: Name or service not known). (400)
/home/bitrix/ext_www/lendsex.ru/bitrix/modules/search/tools/sphinx.php:74
#0: CSearchSphinx->connect(string, string)
/home/bitrix/ext_www/lendsex.ru/bitrix/modules/search/classes/general/full_text.php:25
#1: CSearchFullText::getInstance()
/home/bitrix/ext_www/lendsex.ru/bitrix/modules/search/classes/general/search.php:2579
#2: CAllSearch::DeleteIndex(string, integer)
/home/bitrix/ext_www/lendsex.ru/bitrix/modules/iblock/classes/general/iblockelement.php:4011
#3: CAllIBlockElement::Delete(integer)
/home/bitrix/ext_www/lendsex.ru/bitrix/modules/iblock/admin/templates/iblock_subelement_l ­ist.php:710
#4: require(string)
/home/bitrix/ext_www/lendsex.ru/bitrix/modules/iblock/admin/iblock_subelement_admin.php:103
#5: require(string)
/home/bitrix/ext_www/lendsex.ru/bitrix/admin/iblock_subelement_admin.php:1

помогите с решением плиз

Добрый день, поставили для теста кор. портал дабы оценить перспективы ухода из облака, однако прям сразу наткнулись на проблему

при авете на письмо из CRM выдается ошибка «Операция создания письма отменена.»

письма из других мест отправляются, приходят

в чем может быть проблема, как исправить?

Алексей Шафранский, в какой момент это нужно сделать? до или после установки? у меня это новая установка

просто меня после установки даже ./menu.sh не открывается

Добрый день, с чем может быть связана ошибка

Источник

Sphinx (англ. SQL Phrase Index) — система полнотекстового поиска, разработанная Андреем Аксеновым и распространяемая по лицензии GNU GPL. Отличительной особенностью этого поискового движка является высокая скорость индексации и поиска, возможность использовать морфологический и полнотекстовый поиск.

SphinxSE уже обрел популярность среди разработчиков: именно с его помощью осуществляется поиск на популярном Хабрахабре, проекте Викимапия, сайтах популярного книжного интернет-магазина Буквоед и «Санкт-Петербургского Дома Книги», BitTorrent-трекере The Pirate Bay (небезызвестная «Пиратская бухта») и других высоконагруженных проектах.

Полнотекстовый поиск Sphinx доступен в продуктах «1С-Битрикс» с версии 14.0.0. Он позволяет сделать быстрым и качественным поиск на вашем сайте, снизить нагрузку на сервер, а также он полностью интегрирован с компонентами модуля Поиск.

Внимание! Начиная с версии Sphinx 2.2.1 опция charset_type объявлена как устаревшая:

Несмотря на то, что в документации к модулю «Поиск» начиная с версии v16.5.0 заявляется о поддержке Sphinx 2.2.10 — она работает исключительно для сайтов в кодировке UTF-8.

Для настройки необходимо зайти в административную панель сайта, затем перейти в меню «Настройки» -> «Настройки продукта» -> «Настройки модулей» -> «Поиск«. Затем перейти во вкладку «Морфология» и в выпадающем списке меню «Полнотекстовый поиск с помощью» выбрать «Sphinx«. Для своей работы Bitrix использует RT индексы, то есть, фактически, запись осуществляется в два места одновременно — в базу данных и сервер полнотекстового поиска Sphinx, при этом сам Indexer (программа индексации из набора Sphinx) не обновляет индексы. Этот подход позволяет всегда осуществлять поиск по актуальной информации.

Далее необходимо скопировать конфигурационный файл, представленный на странице настройки:

удалив из него строку «infix_fields=«. Затем нажать «Применить» сохранив настройки.
На этом первая часть настройки CMS Bitrix для работы с сервером полнотекстового поиска закончена, далее необходимо настроить сам сервер.

Настройка параметров Sphinx происходит в панели управления хостингом — для этого нужно зайти в раздел «Сервисы» -> «Sphinx» или перейти по ссылке https://cp.beget.com/cloudservices/sphinx/. Выбираем необходимый тариф и включаем демон полнотекстового поиска:


Далее переходим на вкладку «Индексация» -> «Редактор конфигурации«, вставляем скопированное ранее содержимое конфигурационного файла (с удалением строки «infix_fields=«), и нажимаем «Сохранить«:


Переходим на вкладку «Поисковый сервер» и включаем его.


Так как используются индексы реального времени, необходимо полностью проиндексировать сайт, для этого снова переходим во вкладку «Морфология» панели управления сайтом, в выпадающем списке меню «Полнотекстовый поиск с помощью выбираем «Sphinx» и нажимаем «Применить«.

После применения измений появится сообщение о необходимости полностью проиндексировать сайт, нажимаем на «Переиндексировать сайт«


Попав на страницу индексации снимаем галочку «Проиндексировать только измененные» и нажимаем «Переиндексировать«


Настройка полнотекстового закончена! Проверить работу поиска можно на Вашем сайте.

Если при установке или настройке возникли проблемы, Вы можете обратиться в нашу техническую поддержку — мы с радостью поможем и ответим на все Ваши вопросы.

Sphinx. Установка и настройка.

Поисковая машина Sphinx – это полнотекстовая поисковая система, которая бесплатна, быстра и масштабируема. Она предназначена для производительности и актуальности. Не имеет аналогов ни в одной традиционной базе данных.

Установка и настройка Sphinx на Linux

Чтобы установить Sphinx на сервер Ubuntu, введите:

Поисковая система Sphinx успешно установлена на сервер. После установки Sphinx нуждается в дополнительной настройке.

Настройка Sphinx

Конфигурации Sphinx должны храниться в файле sphinx.conf в каталоге /etc/sphinxsearch. Они состоят из трёх основных блоков: index, searchd и source. Описание каждого из них и общий вид конфигурационного файла можно найти ниже.

Для начала создайте конфигурационный файл:

Блок source

Блок source содержит описание источника данных для нашего индекса, параметров доступа к ним, атрибутов и правил их анализа.. Первый столбец sql_query должен содержать уникальный ID. Запрос SQL будет выполняться для каждого индекса, а затем передавать данные в индексный файл Sphinx.

Стоит отметить что раздел source конфигурации поддерживает наследование, и это весьма удобно, т.к. можно создать один source с настройками соединения с базой данных, и в остальных наследовать его, чтобы не дублировать одни и те же настройки.

Что еще интересного из настроек:

  • sql_query_range — запрос который должен возвращать минимальное и максимальное значение id индексируемых записей, парамаметр пригодится для ranged query.
  • sql_range_step — количество записей получаемых за одну итерацию в ranged query.

Блок index

Блок index содержит настройки построения индекса с использованием источника.

Описание настроек:

  • docinfo — тип хранения атрибутов индекса. Может принимать значения none, extern и inline. None уместен когда индекс не имеет атрибутов, при выборе inline атрибуты будут храниться в .spd файле вместе с документами, а при extern для них будет создан отдельный .spa файл.
  • dict — тип словаря, crc или keywords. crc лучше использовать когда не нужен поиск по подстрокам. Keywords быстрее работает с подстроками, поддерживает wildcard поиск и размер индекса получается в 3-10 раз меньше.
  • morphology — морфологический препроцессор. Препроцессор применяется к индексируемым словам чтобы заменить различные формы одного слова нормализованной формой. Sphinx имеет три вида морфологических препроцессоров: лемматизатор, стеммер и фонетические алгоритмы. Стоит отметить, что Sphinx имеет поддержку русского языка из коробки. Также имеется поддержка libstemmer.
  • stopwords — путь к файлу со списком стоп-слов (разделенных пробелами). Стоп-слова не учитываются при поиске.stopwords — путь к файлу со списком стоп-слов (разделенных пробелами). Стоп-слова не учитываются при поиске.
  • wordforms — путь к файлу со списком словоформ, например «hypertext preprocessor > php».
  • min_word_len — минимальная длина индексируемого слова.
  • html_strip — параметр определяет нужно ли удалять html теги из входных данных.

Блок indexer

Блок indexer содержит настройки индексатора

Блок searchd

Блок searchd содержит порты и переменные для запуска демона Sphinx.

Настройки демона обычно всегда стандартные, указываем адрес, порт демона и пути к логам

Описание настроек:

  • listen — адрес и порт, на котором нужно запустить Sphinx, и используемый протокол (в руководстве – 9306:mysql41). Популярные протоколы Sphinx — sphinx (SphinxAPI) и :mysql41 (SphinxQL).
  • log — путь к файлу лога.
  • query_log — путь к файлу лога запросов.
  • read_timeout — тайм-аут чтения в секундах.
  • max_children — максимальное количество форков.
  • seamless_rotate — предотвращает останов searchd при кэшировании большого объема данных.
  • preopen_indexes — указывает, нужно ли предварительно открывать все индексы.
  • pid_file — путь к PID файлу, обязательный параметр.
  • workers — тип мультипроцессорного режима. None для выключения, все запросы будут выполняться синхронно один за одним. Fork и prefork — новый процесс будет форкнут для обработки запроса. И thread — когда для обработки запроса будет создан новый поток. Последний необходим для работы real-time индекса.

Запускаем sphinx

После того как мы создали файл конфигурации sphinx.conf, нам надо проиндексировать данные из нашей БД. Для этого в консоли запускаем индексатор:

В случае успешного индексирования получим примерно вот такие строки:

Ошибок нет, все работает.

Запускаем поискового демона:

В случае успешного запуска должны увидеть примерно вот такой вывод:

Коннектимся к демону по SQL протоколу что бы проверить его работоспособность:

Теперь можно использовать консольный mysql клиент. Полное описание протокола SQL, реализованного в SphinxQL читайте по ссылке http://sphinxsearch.com/docs/current.html#sphinxql-reference

Запускаем переиндексацию по крону

Добавляем в системный планировщик заданий (крон, crontab) запуск индексатора через каждые сутки:

Защита служебных портов

После настройки и запуска поискового сервера Sphinx важно помнить что его демн открывает порты 9312, 9306 (указанные в настройках) и делает их доступными на всех интерфейсах. Настоятельно рекомендую закрыть их от внешнего мира при помощи файрвола на внешнем интерфейсе (интернет). Вот два простых правила для IPTABLES:

Где eth0 — имя сетевого интерфейса, который смотрит в интернет.

Скрипт автозапуска searchd для init.d

Теперь нужно сделать так чтобы демон searchd стартовал при загрузке/перезагрузке операционной системы. Ниже приведен пример создания и настройки скрипта для Debian/Ubuntu GNU/Linux без использования systemd.

Откроем для редактирования новый скрипт инициализации в папке «/etc/init.d» и добавим туда следующие строчки:

Установим права на скрипт запуска и зарегистрируем его в автозапуске:

Для надежности можете перезагрузить свой сервер и проверить запустился ли демон searchd:

Ошибка «Internet connection error». Что делать и как исправить в браузере?

Когда мы пользуемся интернетом, посещаем сайты, нам не редко приходится сталкиваться с разными ошибками. В этой статье я покажу, как исправить ошибку «Internet connection error», которая появляется красными буквами в браузере, при попытке зайти на какой-то сайт. Обычно, эта ошибка появляется во всех браузерах, и при переходе на любой сайт. При этом, доступ к интернету скорее всего есть. Программы работают (я имею введу программы, которым нужен доступ к интернету) .

Переводится «Internet connection error» как «Ошибка подключения к Интернету». И выглядит вот так (красный шрифт на белом фоне) :

Заметил, что это сообщение так же появляется в Стиме (программа Steam) . Если это ваш случай, то возможно, решения из статьи вам так же пригодятся.

И вроде бы все логично. Компьютер не подключен к интернету, соответственно браузер не может загрузить сайт и выдает нам ошибку. Если бы не два но:

  1. Подключение к интернету активно. Не важно, по кабелю, или по Wi-Fi. Статус соединения без ошибок. На компьютере же сразу видно, когда есть какие-то проблемы с самим подключением.
  2. Когда действительно на компьютере есть проблемы с подключением, в браузере появляется совсем другая ошибка. Будь то Хром, Опера, Яндекс Браузер – не важно. Но там точно не эта красная надпись «Internet connection error».

Поэтому, причины скорее всего в другом.

Почему появляться ошибка INTERNET CONNECTION ERROR?

Я почему-то уверен, что это вирусы. Какое-то вредоносное программное обеспечение. Есть много такой гадости, которая попадая в систему меняет разные сетевые настройки, задает настройки прокси, перенаправляет на другие сайты, открывает рекламные сайты, изменяет файл hosts и т. д. Попадает такая гадость в систему чаще всего в процессе установки программ, драйверов и т. д.

Но чтобы понять в чем проблема и попытаться исправить ошибку простым способом, я рекомендую сделать это:

  • Убедится, что компьютер подключен к интернету и нет никаких ошибок. Перезагрузите компьютер, отключите и подключите интернет. Перезагрузите роутер, если он есть.
  • Попробуйте открыть сайты через другой браузер. Проверьте, ошибка появляется при заходе на какие-то конкретные сайты, или на все.
  • Отключите, а еще лучше удалите все «подозрительные» программы, которые вы устанавливали незадолго до появления ошибки подключения в браузере.
  • Остановите на время работу антивируса и брандмауэра. Если они есть.
  • Если ошибка в каком-то конкретном браузере (только в одном) , то отключите/удалите все расширения в этом браузере. Очистите историю. Можно сбросить настройки браузера.
  • Убедитесь, что проблема не в VPN. Если он настроен на вашем компьютере.

Если вы прошлись по всем пунктам, но так и не удалось избавится от надписи Internet connection error в браузере и не смогли понять в чем причина, то попробуйте более серьезные решения, которые я покажу ниже.

Как исправить ошибку?

Если после сканирования, очистки и перезагрузки компьютера проблема останется, то пробуйте другие решения. Так же можно еще просканировать систему с помощью утилиты Dr.Web CureIt!.

2 Сделайте сброс все сетевых параметров Windows. В Windows 7, Windows 8 и 8.1 нужно использовать командную строку. Вот подробная инструкция: сброс настроек сети TCP/IP и DNS в Windows 7.

А в Windows 10 можно сделать это немного проще – в параметрах.

Подробнее смотрите в этой статье.

3 Желательно проверить файл hosts. Нет ли там чего нибудь лишнего. Особенно, если вы видите сообщение INTERNET CONNECTION ERROR только при посещении каких-то определенных сайтов.

Например, при входе в ВК, YouTube, Одноклассники и т. д. Я уже рассказывал как это сделать в статье: браузер не открывает страницы, а интернет есть и Скайп работает. В разделе «Не открываются сайты из-за файла hosts».

Эти решения должны помочь. Если ошибка осталась, то можно еще сделать восстановление (откат) системы. Если у вас настроена эта функция.

Или опишите свой случай в комментариях. Напишите, что делали и устанавливали на компьютер перед появлением этой проблемы.

Может нам удастся найти причину и соответственно решение.

Установка и настройка Sphinx на Windows

9 июля 2015 г. 26 кодер.укр 5296

Подробное описание установки и настройки SphinxSearch на Windows

Информация! При написании статьи было использовано:

Однако это не значит, что на другой версии windows, denwer (LAMP, . ), Sphinx или MySql что то не будет работать.

Подразумеваем, что база данных уже создана. Если нет, то тестовую БД можете скачать здесь.

Скачайте актуальный релиз поисковой системы Sphinx с официального сайта: http://sphinxsearch.com/downloads/release/. На момент написания статьи последний релиз был Sphinx 2.2.9-release, я выбрал Win64 binaries w/MySQL+id64 support

Распакуйте архив в папку C:Sphinx . После разархивирования папка будет выглядеть следующим образом:

Далее необходимо создать внутри папки C:Sphinx еще 3 папки: data , log и dicts :

Внутри папки log создаем 3 файла: query.log , searchd.log и search.pid :

Открываем командную строку Windows (консоль, Win + R и вводим cmd ). Первое, что необходимо сделать — это установить службу Sphinx с помощью команд:

где ключ servicename определяет имя Вашей службы. После установки Вы увидите следующее сообщение в консоле:

Для удаления необходимо выполнить команду:

Далее необходимо создать кешированные Sphinx-ом документы по которым он будет осуществлять поиск (индексы). Для создания индексов необходимо сконфигурировать файл настроек этой системы. Внутри релиза уже представлены два файла: один с полным описанием — sphinx.conf.in , второй только с обязательными настройками sphinx-min.conf.in .Сделаем резервную копию файла sphinx.conf.in . Далее открываем его для редактирования, оставим, то что нужно, остальное удалим. Пример файла sphinx.conf.in (файл должен состоять минимум из 4 секций):

Скачать этот файл конфигураций можно здесь.

Возвращаемся в консоль и вводим команду для создания индекса.

Внимание! Создание индексов.
Если служба Sphinx не запущена, то выполняем команду:

Если служба запущена, для перегрузки индексов используется команда с дополнительным ключом:

Сейчас будем использовать первую команду:

После успешного создания индексов в консоле Вы увидите примерно следующее:

Далее необходимо запустить службу SphinxSearch. Для этого открываем меню Пуск Панель управления Администрирование Службы SphinxSearch Запустить (Start Control Panel Administrative Tools Services SphinxSearch Start).

Идем далее, если Вы используете denwer, то в консоле введите команду перехода в mysql denwer (путь может отличаться):

Для более корректного отображения кирилицы можно к команде дописать ключ устанавливающий кодировку по умолчанию, тогда команда примет вид:

После выполнения команды Вы увидите следующее:

Если у Вас установлен «чистый» MySql, то в консоле введите команду mysql . Если MySql не добавлен в переменные среды windows, то пропишите полный путь к нему, по примеру denwer.

И так, мы зашли в консоль MySql и теперь проверим работу sphinx. Для этого выполним следующий запрос:

Внимание! При написании SphinxQL запроса обращаться нужно не к таблице в вашей базе, а к индексу который Вы создали, то есть по имени которое Вы указали после слова index в конфиг файле ( sphinx.conf.in ), в нашем случае это testDocIndex и testDoc2Index

Готово! Sphinx установлен и работает! Если при проверке кирилица в консоли выглядит «кривыми иероглифами» не волнуйтесь, дело в кодировке ОС, скорее всего на сайте будет все нормально.

Внимание!

  • После любого изменения конфиг файла, в разделе searchd необходимо перезапустить службу SphinxSearch
  • Если вносите изменения в разделах sourse, index то что бы изменения были видны, необходимо пересоздать индексы, команда пересоздающая индексы при работающей службе была написана здесь
  • Язык SphinxQL хоть и похож на обычный SQL, тем не менее не обольщайтесь различий хватает

Мы публикуем только рабочие и проверенные примеры. Если у вас возникли вопросы, то задавайте их в комментариях, не стесняйтесь)

Если вам понравился опубликованный материал делитесь им и подписывайтесь на нас в соц. сетях

Sphinx connect error ошибка подключения 400

Приветствую!
Кто-нибудь сталкивался с такой ошибкой?

Connecting. Failed!
————————————
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Unable to complete network request to host «Softserver».
Failed to establish a connection.
unknown Win32 error 10060.

Возникает при попытке подключения с клиента к базе на сервере.
Параметры следующие:
Сервер: Удаленный
Имя сервера: SoftServer
Протокол: TCP/IP
Версия сервера: FireBird 1.5
Файл БД: D:DataKatalog.fdb
Пользователь: SYSDBA
Пароль: masterkey
Путь к служебной БД: Firebird_1_5security.fdb
Файл клиентской библиотеки: C:WINDOWSsystem32gds32.dll


Johnmen © ( 2005-10-31 18:03 ) [1]


DancerMan © ( 2005-10-31 18:10 ) [2]


> Johnmen © (31.10.05 18:03) [1]
> Строка подключения?

Это я в IBExperte на клиенте тестирую подключение. База не открывается и проверка коннекта выдает failed.
Прошу прощения, забыл написать.


Desdechado © ( 2005-10-31 18:15 ) [3]

case 10004: error = «Interrupted system call»; break;
case 10009: error = «Bad file number»; break;
case 10013: error = «Permission denied»; break;
case 10014: error = «Bad address»; break;
case 10022: error = «Invalid argument (not bind)»; break;
case 10024: error = «Too many open files»; break;
case 10035: error = «Operation would block»; break;
case 10036: error = «Operation now in progress»; break;
case 10037: error = «Operation already in progress»; break;
case 10038: error = «Socket operation on non-socket»; break;
case 10039: error = «Destination address required»; break;
case 10040: error = «Message too long»; break;
case 10041: error = «Protocol wrong type for socket»; break;
case 10042: error = «Bad protocol option»; break;
case 10043: error = «Protocol not supported»; break;
case 10044: error = «Socket type not supported»; break;
case 10045: error = «Operation not supported on socket»; break;
case 10046: error = «Protocol family not supported»; break;
case 10047: error = «Address family not supported by protocol family»; break;
case 10048: error = «Address already in use»; break;
case 10049: error = «Can»t assign requested address»; break;
case 10050: error = «Network is down»; break;
case 10051: error = «Network is unreachable»; break;
case 10052: error = «Net dropped connection or reset»; break;
case 10053: error = «Software caused connection abort»; break;
case 10054: error = «Connection reset by peer»; break;
case 10055: error = «No buffer space available»; break;
case 10056: error = «Socket is already connected»; break;
case 10057: error = «Socket is not connected»; break;
case 10058: error = «Can»t send after socket shutdown»; break;
case 10059: error = «Too many references, can»t splice»; break;
case 10060: error = «Connection timed out»; break;
case 10061: error = «Connection refused»; break;
case 10062: error = «Too many levels of symbolic links»; break;
case 10063: error = «File name too long»; break;
case 10064: error = «Host is down»; break;
case 10065: error = «No Route to Host»; break;
case 10066: error = «Directory not empty»; break;
case 10067: error = «Too many processes»; break;
case 10068: error = «Too many users»; break;
case 10069: error = «Disc Quota Exceeded»; break;
case 10070: error = «Stale NFS file handle»; break;
case 10091: error = «Network SubSystem is unavailable»; break;
case 10092: error = «WINSOCK DLL Version out of range»; break;
case 10093: error = «Successful WSASTARTUP not yet performed»; break;
case 10071: error = «Too many levels of remote in path»; break;
case 11001: error = «Host not found»; break;
case 11002: error = «Non-Authoritative Host not found»; break;
case 11003: error = «Non-Recoverable errors: FORMERR, REFUSED, NOTIMP»; break;
case 11004: error = «Valid name, no data record of requested type»; break;


Johnmen © ( 2005-10-31 18:18 ) [4]

>DancerMan © (31.10.05 18:10) [2]

Глупый вопрос — сервер запущен? Точно?
Второй глупый вопрос — компьютер с сервером вообще виден?
🙂


DancerMan © ( 2005-10-31 18:22 ) [5]


Johnmen © ( 2005-10-31 18:26 ) [6]

Ещё глупый вопрос — протокол TCP/IP поднят?


DancerMan © ( 2005-10-31 18:32 ) [7]


Johnmen © ( 2005-10-31 18:35 ) [8]


Desdechado © ( 2005-10-31 18:35 ) [9]

порт сервера и порт, в который ты долбишься, совпадают?
firewall не перекрывает?
по коду ошибки — таймаут. может, сетка забита? модем слабоватый?


DancerMan © ( 2005-10-31 18:42 ) [10]

Сетка локальная, пингуется замечательно.
А как порт узнать в который я пробиваюсь? Не знаю.:(


Zacho © ( 2005-10-31 23:48 ) [11]

ping softserver проходит ? Именно по имени softserver, а не по ip-адресу ?

> А как порт узнать в который я пробиваюсь?

в firebird.conf посмотри параметры RemoteServiceName и RemoteServicePort. Если перед именем параметров стоит # — значит, они умолчательные, gds_db и 3050 соответственно. Подробно о конфигурировании портов описано в Release Notes, глава Configuring the port service on client and server.
Так же советую прочитать http://www.ibase.ru/ibfaq.htm#noconnect и http://www.ibase.ru/devinfo/ibinstallfaq.txt вопрос 2Q


DrPass © ( 2005-11-01 02:47 ) [12]

Если это Windows XP SP2, то по умолчанию порт 3050 закрыт Windows Firewall. Нужно открыть


DancerMan © ( 2005-11-01 12:31 ) [13]

1. Открыл на сервере порт 3050.
2. В firebird.conf
Изменил строчку RemoteServicePort = 3050 на
RemoteServicePort = 3050/tcp
3. Перезапустил сервер FireBird

Только после этого получилось приконнектиться к базе.

Всем спасибо!
Мой вопрос закрыт.

Источник

Проконсультируем, найдем оптимальное решение, подготовим индивидуальное предложение.

Содержание

      • О нас
  • После переноса вся публичная часть не видна без авторизации по логину и паролю
  • При входе в административный интерфейс возникает сообщение об ошибке «Кодировка используемой вами базы данных MySql “utf8”, системе обновлений необходима кодировка “cp1251”. Обратитесь к администратору MySql для выполнения запроса alter database DATABASE_NAME default character set cp1251»
  • Зависает переиндексация статических файлов сайта
  • На любой странице сайта возникает ошибка:
  • На любой странице возникает ошибка:
  • На сайте возникает ошибка:
    • Нехватка оперативной памяти.
    • Сервер не может стартовать из-за ошибки в конфигурации.
  • Возникает ошибка любого MySQL запроса вида:
    • Почему VM
  • Как исправить ошибку в битрикс Connection refused (400) /home/bitrix/www/bitrix/modules/main/lib/db/mysqlconnection.php:50?
  • После перезагрузки сервера на линуксе, проблема с БД, как решить? — Toster.ru
  • [BitrixMainDBConnectionException] Sphinx connect error: Ошибка под
  • [BitrixMainDBConnectionException] Sphinx connect error: Ошибка под
  • Вебинар по запуску новой магистерской программы ИРНИТУ «Технологии информационного моделирования зданий и сооружений»
  • Как запустить проект 1C Bitrix на MAMP? — Toster.ru
  • Ошибки при работе с 1С-Битрикс
      • Нехватка оперативной памяти.
      • Сервер не может стартовать из-за ошибки в конфигурации.
    • Рекомендуем к прочтению

О нас

AKWEB Development – группа инициативных, профессиональных, высококвалифицированных и опытных разработчиков. Мы готовы предложить создание ресурса любого уровня сложности и в любом формате, оперативно решить все проблемы и трудности, а также помочь квалифицированной консультацией.

После переноса вся публичная часть не видна без авторизации по логину и паролю

Если после переноса вы видите на главной странице вместо новостей форму для авторизации и все пункты меню отмечены значком замка:

Bitrix main db connectionexception

… и после авторизации все отображается правильно — перейдите в административную панель Битрикс и пройдите по пути: Настройки (Settings) → Настройки продукта (System settings) → Сайты (Sites) → Список сайтов (List of sites), выберите ваш сайт и проверьте значение поля «Путь к корневой папке веб-сервера для этого сайта (Path to the web server root folder of this site)», скорее всего там указан неправильный путь.

Рекомендуется оставить это поле пустым если вы не используете многосайтовость на разных доменах.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

При входе в административный интерфейс возникает сообщение об ошибке «Кодировка используемой вами базы данных MySql “utf8”, системе обновлений необходима кодировка “cp1251”. Обратитесь к администратору MySql для выполнения запроса alter database DATABASE_NAME default character set cp1251»

Bitrix main db connectionexception

По умолчанию все сервисы виртуальной машины VMBitrix работают в кодировке UTF-8. По сравнению с кодировкой CP1251 (Windows-1251) UTF-8 предоставляет большие возможности по хранению информации на различных языках, подробнее можно узнать в Wikipedia.

Если по каким-либо причинам вы не можете перейти на использование UTF-8 — выполните указанный запрос самостоятельно.

Для этого перейдите в административный раздел Битрикс и пройдите по пути Настройки (Settings) → Инструменты (Tools) → SQL запрос (SQL query), скопируйте и вставьте запрос из сообщения об ошибке и выполните его.

Этот запрос изменяет свойство используемой базы данных, не затрагивая сами данные, и, при необходимости, вы можете вернуть старое значение обратно.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

Зависает переиндексация статических файлов сайта

При попытке обновить поисковый индекс вашего сайта процесс зависает (длится очень долго и статус уже переиндексированных документов не обновляется). Если производить переиндексацию по отдельным модулям — зависание происходит только при выборе модуля «Статические файлы».

Для решения проблемы необходимо изменить параметры mbstring в файле /etc/php.ini: и перезапустить web-сервер Apache чтобы новые параметры вступили в силу:

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

На любой странице сайта возникает ошибка:

В новом ядре Битрикс, настройка параметров производится в файле bitrix/.settings.php (обратите внимание, что имя файла начинается с точки). Ранее, для этих задач использовался файл bitrix/php_interface/dbconn.php.

По умолчанию, Битрикс скрывает любые сообщения об ошибках, так как это значительно снижает уровень безопасности системы. Поэтому при возникновении любой ошибки вместо нее будет отображаться указанное выше сообщение.

Поэтому первым делом, необходимо войти на сервер (по SSH или sFTP) и отредактировать файл bitrix/.settings.php. В нем следует найти строчку: и изменить значение параметра debug на true, то есть строка должна принять вид:

После этого, при обращении к странице с ошибкой, вы увидите полное сообщение об ошибке. После исправления ошибки, не забудьте вернуть параметр debug в изначальное значение.

Болле подробное описание всех параметров файла .settings.php есть на сайте разработчика.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

На любой странице возникает ошибка:

Эта ошибка абсолютно аналогична описанной выше, но возникает только в старом ядре Битрикс. Для включения вывода полного сообшения об ошибке войдите на сервер (по SSH или sFTP) и отредактируйте файл bitrix/php_interface/dbconn.php. В нем найдите строчку: и измените значение переменной $DBDebug на true, то есть строка должна принять вид:

После этого, при обращении к странице с ошибкой, вы увидите полное сообщение об ошибке. После исправления ошибки, не забудьте вернуть параметр $DBDebug в изначальное значение.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

На сайте возникает ошибка:

Данная ошибка означает, что сервер баз данных MySQL не доступен. Это может произойти в ряде случаев и зачастую требуется отдельный анализ ситуации для выявления точной причины. Но в большинстве случаев эта ошибка возникает из-за следующих проблем:

Нехватка оперативной памяти.

Если при разработке проекта не рассчитывалась большая нагрузка (со стороны пользователей или объема обрабатываемых данных), или при разработке была допущена ошибка, или параметры MySQL и Apache не оптимальны для проекта, то при всплеске активности может возникнуть переполнение оперативной памяти (RAM). В этом случае, операционная система, для поддержания собственной безопасности, принудительно завершает работу самого объемного процесса (для web-серверов это как правило именно MySQL).

В этом случае, в системном журнале /var/log/syslog и на консоли сервера (доступ к которой можно получить в панели управления vCenter) будет содержаться сообщение вида: В этом случае, перезагрузите сервер, для освобождения памяти и восстановления работы всех сервисов. Затем привлеките разработчиков для оптимизации скриптов и запросов к БД, для предотвращения возникновения ошибки в будущем. Либо, если оптимизация не представляется возможной, увеличить тарифный план, тем самым увеличить объем доступной памяти.

Сервер не может стартовать из-за ошибки в конфигурации.

Как правило это может возникнуть после правки конфигурационного файла my.cnf или обновления системы. В этом случае, следует откатить изменения и перезапустить сервер или отдельно MySQL.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

Возникает ошибка любого MySQL запроса вида:

Ошибка может содержать любой SELECT, INSERT или UPDATE запрос, но при этом обязательно заканчивается уточнением Got error 28 from storage engine. Причиной ошибки является переполнения жесткого диска (HDD)

В этом случае, войдите на сервер по SSH и выполните команду df -h: Основной раздел, в примере /dev/sda2 (так как он наибольший, что видно по колонке Size, и точка монтирования у него — корневая директория Mounted on /) используется на 100%

Для восстановления работы следует удалить более ненужные данные с диска или увеличить дисковое пространство.

Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru

  • Общие вопросы
  • Вопросы по 1С-Битрикс
  • Ошибки при работе с 1С-Битрикс
  • Поддержка почты домена

Почему VM

Виртуальные машины — это свобода:

  • Свобода выбора OS и того, что в ней содержится.
  • Свобода выбора конфигурации.
  • Свобода от ограничений физических серверов, от их поломок и простоев.
  • другие причины…

Как исправить ошибку в битрикс Connection refused (400) /home/bitrix/www/bitrix/modules/main/lib/db/mysqlconnection.php:50?

[BitrixMainDBConnectionException]
Mysql connect error [127.0.0.1, 127.0.0.1]: Connection refused (400)
/home/bitrix/www/bitrix/modules/main/lib/db/mysqlconnection.php:50
#0: BitrixMainDBMysqlConnection->connectInternal()
/home/bitrix/www/bitrix/modules/main/lib/db/mysqlconnection.php:103
#1: BitrixMainDBMysqlConnection->queryInternal(string, array, NULL)
/home/bitrix/www/bitrix/modules/main/lib/db/connection.php:329
#2: BitrixMainDBConnection->query(string)
/home/bitrix/www/bitrix/modules/main/lib/config/option.php:227
#3: BitrixMainConfigOption::load(string, NULL)
/home/bitrix/www/bitrix/modules/main/lib/config/option.php:53
#4: BitrixMainConfigOption::get(string, string, string)
/home/bitrix/www/bitrix/modules/main/lib/httprequest.php:339
#5: BitrixMainHttpRequest->prepareCookie(array)
/home/bitrix/www/bitrix/modules/main/lib/httprequest.php:63
#6: BitrixMainHttpRequest->__construct(object, array, array, array, array)
/home/bitrix/www/bitrix/modules/main/lib/httpapplication.php:43
#7: BitrixMainHttpApplication->initializeContext(array)
/home/bitrix/www/bitrix/modules/main/lib/application.php:122
#8: BitrixMainApplication->initializeExtendedKernel(array)
/home/bitrix/www/bitrix/modules/main/include.php:24
#9: require_once(string)
/home/bitrix/www/bitrix/modules/main/include/prolog_before.php:14
#10: require_once(string)
/home/bitrix/www/index.php:8

Вопрос задан

более года назад

После перезагрузки сервера на линуксе, проблема с БД, как решить? — Toster.ru

Всем привет!
После отключения и включения сервера (Линукс) где лежит сайт на битриксе, проблема с базой данных, выдает такую ошибку:

В чем может быть проблема?

[BitrixMainDBConnectionException] Sphinx connect error: Ошибка под

Not a member of Pastebin yet? Sign Up, it unlocks many cool features!

Sphinx connect error: Ошибка подключения (). (400)

#0: CSearchSphinx->connect(string, string)

#2: CAllSearch->Index(string, integer, array, boolean)

#4: CAllIBlockElement->Add(array, boolean, boolean, boolean)

[BitrixMainDBConnectionException]
Sphinx connect error: Ошибка подключения (). (400)
/opt/lampp/stolet/bitrix/modules/search/tools/sphinx.php:72
#0: CSearchSphinx->connect(string, string)
/opt/lampp/stolet/bitrix/modules/search/classes/general/full_text.php:23
#1: CSearchFullText::getInstance()
/opt/lampp/stolet/bitrix/modules/search/classes/general/search.php:1327
#2: CAllSearch->Index(string, integer, array, boolean)
/opt/lampp/stolet/bitrix/modules/iblock/classes/general/iblockelement.php:5194
#3: CAllIBlockElement->UpdateSearch(integer)
/opt/lampp/stolet/bitrix/modules/iblock/classes/general/iblockelement.php:3437
#4: CAllIBlockElement->Add(array, boolean, boolean, boolean)
/opt/lampp/stolet/ondemand/zapros.php:26

We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand

Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!

[BitrixMainDBConnectionException] Sphinx connect error: Ошибка под

Not a member of Pastebin yet? Sign Up, it unlocks many cool features!

Sphinx connect error: Ошибка подключения (). (400)

#0: CSearchSphinx->connect(string, string)

#2: CAllSearch->Update(string, array)

#3: CAllSearch->Index(string, integer, array, boolean)

#4: CAllIBlockElement->UpdateSearch(integer, boolean)

#5: CIBlockElement->Update(string, array)

#6: CLitresImport->updateBook(string, array, array)

[BitrixMainDBConnectionException]
Sphinx connect error: Ошибка подключения (). (400)
/home/bitrix/www/bitrix/modules/search/tools/sphinx.php:72
#0: CSearchSphinx->connect(string, string)
/home/bitrix/www/bitrix/modules/search/classes/general/full_text.php:23
#1: CSearchFullText::getInstance()
/home/bitrix/www/bitrix/modules/search/classes/general/search.php:2519
#2: CAllSearch->Update(string, array)
/home/bitrix/www/bitrix/modules/search/classes/general/search.php:1282
#3: CAllSearch->Index(string, integer, array, boolean)
/home/bitrix/www/bitrix/modules/iblock/classes/general/iblockelement.php:5033
#4: CAllIBlockElement->UpdateSearch(integer, boolean)
/home/bitrix/www/bitrix/modules/iblock/classes/mysql/iblockelement.php:1484
#5: CIBlockElement->Update(string, array)
/home/bitrix/www/bitrix/php_interface/classes/CLitresImport.php:423
#6: CLitresImport->updateBook(string, array, array)
/home/bitrix/www/bitrix/php_interface/classes/CLitresImport.php:214
#7: CLitresImport->importBook(object)
/home/bitrix/www/fiction.eksmo.ru/import/litres/getFreshBooks.php:107

We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand

Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!

Вебинар по запуску новой магистерской программы ИРНИТУ «Технологии информационного моделирования зданий и сооружений»

В ИРНИТУ 17 июня состоялся вебинар, посвященный открытию новой магистерской программы «Технологии информационного моделирования зданий и сооружений» (направление 08.04.01 «Строительство»). Ведущей онлайн-встречи стала заведующая кафедрой теоретической механики и сопротивления материалов, доцент, д.т.н., руководитель образовательного проекта Татьяна Дмитриева.

Сетевой семинар прошел в формате серии мероприятий «ПОСТУПАЙ В ИРКУТСКИЙ ПОЛИТЕХ!». Об особенностях учебного плана и перспективах трудоустройства преподаватель рассказала в онлайн-режиме в специальной видеостудии, созданной на базе университетского Центра электронного обучения для записи интернет-курсов

Как сообщила Татьяна Дмитриева, в России в 2014 году был разработан план по внедрению BIM-технологий в строительство. Через три года утвердили четыре нормативных документа в данной сфере. В Иркутском техническом университете были организованы семинары и образовательные форумы по информационному моделированию. В 2018 году «политеховцы» стали участниками III форума «МНОГОМЕРНАЯ РОССИЯ-2018: цифровая трансформация промышленной инфраструктуры» (Москва).

«В настоящее время появилась потребность в подготовке специалистов, компетентных в технологиях информационного моделирования зданий и сооружений. ИРНИТУ разработал соответствующую магистерскую программу двухгодичного обучения на очной форме, ориентируясь на опыт вузов Новосибирска, Томска и Москвы. Мы начинаем готовить профессионалов, которые будут востребованы в ближайшем будущем.

В учебный план вошли такие предметы, как «BIM-технологии в строительной отрасли», «Информационное моделирование зданий с использованием САПР Autodesk Revit», «Технико-экономическая оценка информационных моделей при обосновании инвестиций», «Современные программные комплексы инженерного анализа» и т.д. Магистрантов научат создавать цифровые модели, которые отражают состояние объекта в любой момент его жизненного цикла вплоть до полной утилизации», — отметила преподаватель.

Большая часть занятий будет проходить в учебных лабораториях ИРНИТУ, оснащенных новейшим оборудованием. В преподавательский состав вошли профессора и действующие педагоги-практики. Университет заключил договор о сотрудничестве с компанией «НЕОЛАНТ», чтобы «политеховцы» научились виртуозно пользоваться современными программными продуктами. Организация предлагает сетевую платформу НЕОСИНТЕЗ — систему управления инженерными данными. Платформа обеспечивает хранение, доступ, обмен и анализ данных объекта промышленного и гражданского строительства на протяжении его жизненного цикла: проектирование, строительство или реконструкция, эксплуатация.Выпускник-магистр будет владеть современными программными комплексами в области информационного моделирования, а также сможет максимально качественно и точно продумать все детали перед началом проектных, монтажно-строительных и других видов работ. Кроме того, полученные в «политехе» знания будут способствовать достижению высокой скорости выполнения проектов, а также значительной экономии средств.

В ходе вебинара интернет-пользователи задали Татьяне Дмитриевой несколько вопросов, один из которых касался наличия бюджетных мест. По словам преподавателя, набор этого года предусматривает 14 магистрантов-бюджетников. Кроме того, параллельно ведется коммерческий набор. Всем поступающим необходимо пройти тестирование по строительному направлению.

Абитуриенты интересовались перспективами трудоустройства. Руководитель программы отметила, что выпускники будут востребованы в архитектурно-конструкторских бюро, инженерно-консалтинговых и строительно-ремонтных компаниях, корпорациях крупных застройщиков. Магистерское образование позволит реализоваться в должностях BIM-менеджера, руководителя проекта, а также продолжить рост по карьерной лестнице. По информации Татьяны Дмитриевой, сегодня молодые специалисты, окончившие Иркутский «политех», успешно трудятся в организациях «Ренейссанс Констракшн» и «НЕОЛАНТ».

Еще один вопрос касался стажировок. В учебный план включены три практики и защита выпускной квалификационной работы.

Если еще остались вопросы, то их можно задать по телефонам Центральной приемной комиссии: 8 800 100 5405, 8 (3952) 405-405. E-mail: [email protected]

ССЫЛКА НА ВЕБИНАР

СПРАВКА: Проект «ПОСТУПАЙ В ИРКУТСКИЙ ПОЛИТЕХ!» направлен на выпускников школ и вузов, а также их родителей. На сетевых семинарах сотрудники ИРНИТУ рассказывают о преимуществах университета и отвечают на заранее поступившие вопросы в группе ВКонтакте или общаются со слушателями в режиме онлайн. Интернет-беседы происходят благодаря видеостудии для записи веб-курсов, которая появилась в ИРНИТУ в декабре прошлого года. Современная площадка разместилась на базе Центра электронного обучения. Специальный комплекс был приобретен при финансовой поддержке правительства Приангарья в рамках Программы трансформации университета в Центр технологического развития региона «Байкальский инновационный хаб», где одним из ключевых показателей является онлайн-обучение.

Как запустить проект 1C Bitrix на MAMP? — Toster.ru

Подскажите пожалуйста, у меня есть проект на 1C Bitrix и база данных к нему .sql. Есть пароль к базе данных и собственно Mac OS с утановленным MAMP & MAMP PRO.

Я положил файлы проекта в папку MAMP/htdocs
А также базу данных в папку MAMP/db/mysql

Проект стартует по стандарту на localhost:8888, даже favicon отображаются, но пишет следующую ошибку:

Подскажите что можно сделать? Я больше никакие файлы не трогал и ничего не меня в настройках MAMP.

Ошибки при работе с 1С-Битрикс

Если после переноса вы видите на главной странице вместо новостей форму для авторизации и все пункты меню отмечены значком замка:

… и после авторизации все отображается правильно — перейдите в административную панель Битрикс и пройдите по пути: Настройки (Settings) → Настройки продукта (System settings) → Сайты (Sites) → Список сайтов (List of sites), выберите ваш сайт и проверьте значение поля «Путь к корневой папке веб-сервера для этого сайта (Path to the web server root folder of this site)», скорее всего там указан неправильный путь.

Рекомендуется оставить это поле пустым если вы не используете многосайтовость на разных доменах.

Если у вас возникли сложности, не описанные здесь, напишите нам на [email protected]

По умолчанию все сервисы виртуальной машины VMBitrix работают в кодировке UTF-8. По сравнению с кодировкой CP1251 (Windows-1251) UTF-8 предоставляет большие возможности по хранению информации на различных языках, подробнее можно узнать в Wikipedia.

Если по каким-либо причинам вы не можете перейти на использование UTF-8 — выполните указанный запрос самостоятельно.

Для этого перейдите в административный раздел Битрикс и пройдите по пути Настройки (Settings) → Инструменты (Tools) → SQL запрос (SQL query), скопируйте и вставьте запрос из сообщения об ошибке и выполните его.

Этот запрос изменяет свойство используемой базы данных, не затрагивая сами данные, и, при необходимости, вы можете вернуть старое значение обратно.

Если у вас возникли сложности, не описанные здесь, напишите нам на [email protected]

При попытке обновить поисковый индекс вашего сайта процесс зависает (длится очень долго и статус уже переиндексированных документов не обновляется). Если производить переиндексацию по отдельным модулям — зависание происходит только при выборе модуля «Статические файлы».

Для решения проблемы необходимо изменить параметры mbstring в файле /etc/php.ini:

и перезапустить web-сервер Apache чтобы новые параметры вступили в силу:

Если у вас возникли сложности, не описанные здесь, напишите нам на [email protected]

The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.

В новом ядре Битрикс, настройка параметров производится в файле bitrix/.settings.php (обратите внимание, что имя файла начинается с точки). Ранее, для этих задач использовался файл bitrix/php_interface/dbconn.php.

По умолчанию, Битрикс скрывает любые сообщения об ошибках, так как это значительно снижает уровень безопасности системы. Поэтому при возникновении любой ошибки вместо нее будет отображаться указанное выше сообщение.

Поэтому первым делом, необходимо войти на сервер (по SSH или sFTP) и отредактировать файл bitrix/.settings.php. В нем следует найти строчку:

и изменить значение параметра debug на true, то есть строка должна принять вид:

После этого, при обращении к странице с ошибкой, вы увидите полное сообщение об ошибке. После исправления ошибки, не забудьте вернуть параметр debug в изначальное значение.

Болле подробное описание всех параметров файла .settings.php есть на сайте разработчика.

Если у вас возникли сложности, не описанные здесь, напишите нам на [email protected]

Эта ошибка абсолютно аналогична описанной выше, но возникает только в старом ядре Битрикс. Для включения вывода полного сообшения об ошибке войдите на сервер (по SSH или sFTP) и отредактируйте файл bitrix/php_interface/dbconn.php. В нем найдите строчку:

и измените значение переменной $DBDebug на true, то есть строка должна принять вид:

После этого, при обращении к странице с ошибкой, вы увидите полное сообщение об ошибке. После исправления ошибки, не забудьте вернуть параметр $DBDebug в изначальное значение.

Если у вас возникли сложности, не описанные здесь, напишите нам на [email protected]

Mysql connect error [localhost, 127.0.0.1]: Can’t connect to local MySQL server through socket ‘/var/lib/mysqld/mysqld.sock’ (2) (400)

Данная ошибка означает, что сервер баз данных MySQL не доступен. Это может произойти в ряде случаев и зачастую требуется отдельный анализ ситуации для выявления точной причины. Но в большинстве случаев эта ошибка возникает из-за следующих проблем:

Нехватка оперативной памяти.

Если при разработке проекта не рассчитывалась большая нагрузка (со стороны пользователей или объема обрабатываемых данных), или при разработке была допущена ошибка, или параметры MySQL и Apache не оптимальны для проекта, то при всплеске активности может возникнуть переполнение оперативной памяти (RAM). В этом случае, операционная система, для поддержания собственной безопасности, принудительно завершает работу самого объемного процесса (для web-серверов это как правило именно MySQL).

В этом случае, в системном журнале /var/log/syslog и на консоли сервера (доступ к которой можно получить в панели управления vCenter) будет содержаться сообщение вида:

В этом случае, перезагрузите сервер, для освобождения памяти и восстановления работы всех сервисов. Затем привлеките разработчиков для оптимизации скриптов и запросов к БД, для предотвращения возникновения ошибки в будущем. Либо, если оптимизация не представляется возможной, увеличить тарифный план, тем самым увеличить объем доступной памяти.

Сервер не может стартовать из-за ошибки в конфигурации.

Как правило это может возникнуть после правки конфигурационного файла my.cnf или обновления системы. В этом случае, следует откатить изменения и перезапустить сервер или отдельно MySQL.

Если у вас возникли сложности, не описанные здесь, напишите нам на [email protected]

MySQL Query Error: SELECT … FROM … [Got error 28 from storage engine]

Ошибка может содержать любой SELECT, INSERT или UPDATE запрос, но при этом обязательно заканчивается уточнением Got error 28 from storage engine. Причиной ошибки является переполнения жесткого диска (HDD)

В этом случае, войдите на сервер по SSH и выполните команду df -h:

Основной раздел, в примере /dev/sda2 (так как он наибольший, что видно по колонке Size, и точка монтирования у него — корневая директория Mounted on /) используется на 100%

Для восстановления работы следует удалить более ненужные данные с диска или увеличить дисковое пространство.

Если у вас возникли сложности, не описанные здесь, напишите нам на [email protected]

Содержание

  1. Sphinx connect error ошибка подключения 400
  2. Настройка Sphinx в CMS Bitrix
  3. Sphinx. Установка и настройка.
  4. Установка и настройка Sphinx на Linux
  5. Настройка Sphinx
  6. Блок source
  7. Блок index
  8. Блок indexer
  9. Блок searchd
  10. Запускаем sphinx
  11. Запускаем переиндексацию по крону
  12. Защита служебных портов
  13. Скрипт автозапуска searchd для init.d
  14. Ошибка «Internet connection error». Что делать и как исправить в браузере?
  15. Почему появляться ошибка INTERNET CONNECTION ERROR?
  16. Как исправить ошибку?
  17. Установка и настройка Sphinx на Windows
  18. Sphinx connect error ошибка подключения 400

Настройка Sphinx в CMS Bitrix

Sphinx (англ. SQL Phrase Index) — система полнотекстового поиска, разработанная Андреем Аксеновым и распространяемая по лицензии GNU GPL. Отличительной особенностью этого поискового движка является высокая скорость индексации и поиска, возможность использовать морфологический и полнотекстовый поиск.

SphinxSE уже обрел популярность среди разработчиков: именно с его помощью осуществляется поиск на популярном Хабрахабре, проекте Викимапия, сайтах популярного книжного интернет-магазина Буквоед и «Санкт-Петербургского Дома Книги», BitTorrent-трекере The Pirate Bay (небезызвестная «Пиратская бухта») и других высоконагруженных проектах.

Полнотекстовый поиск Sphinx доступен в продуктах «1С-Битрикс» с версии 14.0.0. Он позволяет сделать быстрым и качественным поиск на вашем сайте, снизить нагрузку на сервер, а также он полностью интегрирован с компонентами модуля Поиск.

Внимание! Начиная с версии Sphinx 2.2.1 опция charset_type объявлена как устаревшая:

Несмотря на то, что в документации к модулю «Поиск» начиная с версии v16.5.0 заявляется о поддержке Sphinx 2.2.10 — она работает исключительно для сайтов в кодировке UTF-8.

Для настройки необходимо зайти в административную панель сайта, затем перейти в меню «Настройки» -> «Настройки продукта» -> «Настройки модулей» -> «Поиск«. Затем перейти во вкладку «Морфология» и в выпадающем списке меню «Полнотекстовый поиск с помощью» выбрать «Sphinx«. Для своей работы Bitrix использует RT индексы, то есть, фактически, запись осуществляется в два места одновременно — в базу данных и сервер полнотекстового поиска Sphinx, при этом сам Indexer (программа индексации из набора Sphinx) не обновляет индексы. Этот подход позволяет всегда осуществлять поиск по актуальной информации.

Далее необходимо скопировать конфигурационный файл, представленный на странице настройки:

удалив из него строку «infix_fields=«. Затем нажать «Применить» сохранив настройки.
На этом первая часть настройки CMS Bitrix для работы с сервером полнотекстового поиска закончена, далее необходимо настроить сам сервер.

Настройка параметров Sphinx происходит в панели управления хостингом — для этого нужно зайти в раздел «Сервисы» -> «Sphinx» или перейти по ссылке https://cp.beget.com/cloudservices/sphinx/. Выбираем необходимый тариф и включаем демон полнотекстового поиска:


Далее переходим на вкладку «Индексация» -> «Редактор конфигурации«, вставляем скопированное ранее содержимое конфигурационного файла (с удалением строки «infix_fields=«), и нажимаем «Сохранить«:


Переходим на вкладку «Поисковый сервер» и включаем его.


Так как используются индексы реального времени, необходимо полностью проиндексировать сайт, для этого снова переходим во вкладку «Морфология» панели управления сайтом, в выпадающем списке меню «Полнотекстовый поиск с помощью выбираем «Sphinx» и нажимаем «Применить«.

После применения измений появится сообщение о необходимости полностью проиндексировать сайт, нажимаем на «Переиндексировать сайт«


Попав на страницу индексации снимаем галочку «Проиндексировать только измененные» и нажимаем «Переиндексировать«


Настройка полнотекстового закончена! Проверить работу поиска можно на Вашем сайте.

Если при установке или настройке возникли проблемы, Вы можете обратиться в нашу техническую поддержку — мы с радостью поможем и ответим на все Ваши вопросы.

Sphinx. Установка и настройка.

Поисковая машина Sphinx – это полнотекстовая поисковая система, которая бесплатна, быстра и масштабируема. Она предназначена для производительности и актуальности. Не имеет аналогов ни в одной традиционной базе данных.

Установка и настройка Sphinx на Linux

Чтобы установить Sphinx на сервер Ubuntu, введите:

Поисковая система Sphinx успешно установлена на сервер. После установки Sphinx нуждается в дополнительной настройке.

Настройка Sphinx

Конфигурации Sphinx должны храниться в файле sphinx.conf в каталоге /etc/sphinxsearch. Они состоят из трёх основных блоков: index, searchd и source. Описание каждого из них и общий вид конфигурационного файла можно найти ниже.

Для начала создайте конфигурационный файл:

Блок source

Блок source содержит описание источника данных для нашего индекса, параметров доступа к ним, атрибутов и правил их анализа.. Первый столбец sql_query должен содержать уникальный ID. Запрос SQL будет выполняться для каждого индекса, а затем передавать данные в индексный файл Sphinx.

Стоит отметить что раздел source конфигурации поддерживает наследование, и это весьма удобно, т.к. можно создать один source с настройками соединения с базой данных, и в остальных наследовать его, чтобы не дублировать одни и те же настройки.

Что еще интересного из настроек:

  • sql_query_range — запрос который должен возвращать минимальное и максимальное значение id индексируемых записей, парамаметр пригодится для ranged query.
  • sql_range_step — количество записей получаемых за одну итерацию в ranged query.

Блок index

Блок index содержит настройки построения индекса с использованием источника.

Описание настроек:

  • docinfo — тип хранения атрибутов индекса. Может принимать значения none, extern и inline. None уместен когда индекс не имеет атрибутов, при выборе inline атрибуты будут храниться в .spd файле вместе с документами, а при extern для них будет создан отдельный .spa файл.
  • dict — тип словаря, crc или keywords. crc лучше использовать когда не нужен поиск по подстрокам. Keywords быстрее работает с подстроками, поддерживает wildcard поиск и размер индекса получается в 3-10 раз меньше.
  • morphology — морфологический препроцессор. Препроцессор применяется к индексируемым словам чтобы заменить различные формы одного слова нормализованной формой. Sphinx имеет три вида морфологических препроцессоров: лемматизатор, стеммер и фонетические алгоритмы. Стоит отметить, что Sphinx имеет поддержку русского языка из коробки. Также имеется поддержка libstemmer.
  • stopwords — путь к файлу со списком стоп-слов (разделенных пробелами). Стоп-слова не учитываются при поиске.stopwords — путь к файлу со списком стоп-слов (разделенных пробелами). Стоп-слова не учитываются при поиске.
  • wordforms — путь к файлу со списком словоформ, например «hypertext preprocessor > php».
  • min_word_len — минимальная длина индексируемого слова.
  • html_strip — параметр определяет нужно ли удалять html теги из входных данных.

Блок indexer

Блок indexer содержит настройки индексатора

Блок searchd

Блок searchd содержит порты и переменные для запуска демона Sphinx.

Настройки демона обычно всегда стандартные, указываем адрес, порт демона и пути к логам

Описание настроек:

  • listen — адрес и порт, на котором нужно запустить Sphinx, и используемый протокол (в руководстве – 9306:mysql41). Популярные протоколы Sphinx — sphinx (SphinxAPI) и :mysql41 (SphinxQL).
  • log — путь к файлу лога.
  • query_log — путь к файлу лога запросов.
  • read_timeout — тайм-аут чтения в секундах.
  • max_children — максимальное количество форков.
  • seamless_rotate — предотвращает останов searchd при кэшировании большого объема данных.
  • preopen_indexes — указывает, нужно ли предварительно открывать все индексы.
  • pid_file — путь к PID файлу, обязательный параметр.
  • workers — тип мультипроцессорного режима. None для выключения, все запросы будут выполняться синхронно один за одним. Fork и prefork — новый процесс будет форкнут для обработки запроса. И thread — когда для обработки запроса будет создан новый поток. Последний необходим для работы real-time индекса.

Запускаем sphinx

После того как мы создали файл конфигурации sphinx.conf, нам надо проиндексировать данные из нашей БД. Для этого в консоли запускаем индексатор:

В случае успешного индексирования получим примерно вот такие строки:

Ошибок нет, все работает.

Запускаем поискового демона:

В случае успешного запуска должны увидеть примерно вот такой вывод:

Коннектимся к демону по SQL протоколу что бы проверить его работоспособность:

Теперь можно использовать консольный mysql клиент. Полное описание протокола SQL, реализованного в SphinxQL читайте по ссылке http://sphinxsearch.com/docs/current.html#sphinxql-reference

Запускаем переиндексацию по крону

Добавляем в системный планировщик заданий (крон, crontab) запуск индексатора через каждые сутки:

Защита служебных портов

После настройки и запуска поискового сервера Sphinx важно помнить что его демн открывает порты 9312, 9306 (указанные в настройках) и делает их доступными на всех интерфейсах. Настоятельно рекомендую закрыть их от внешнего мира при помощи файрвола на внешнем интерфейсе (интернет). Вот два простых правила для IPTABLES:

Где eth0 — имя сетевого интерфейса, который смотрит в интернет.

Скрипт автозапуска searchd для init.d

Теперь нужно сделать так чтобы демон searchd стартовал при загрузке/перезагрузке операционной системы. Ниже приведен пример создания и настройки скрипта для Debian/Ubuntu GNU/Linux без использования systemd.

Откроем для редактирования новый скрипт инициализации в папке «/etc/init.d» и добавим туда следующие строчки:

Установим права на скрипт запуска и зарегистрируем его в автозапуске:

Для надежности можете перезагрузить свой сервер и проверить запустился ли демон searchd:

Ошибка «Internet connection error». Что делать и как исправить в браузере?

Когда мы пользуемся интернетом, посещаем сайты, нам не редко приходится сталкиваться с разными ошибками. В этой статье я покажу, как исправить ошибку «Internet connection error», которая появляется красными буквами в браузере, при попытке зайти на какой-то сайт. Обычно, эта ошибка появляется во всех браузерах, и при переходе на любой сайт. При этом, доступ к интернету скорее всего есть. Программы работают (я имею введу программы, которым нужен доступ к интернету) .

Переводится «Internet connection error» как «Ошибка подключения к Интернету». И выглядит вот так (красный шрифт на белом фоне) :

Заметил, что это сообщение так же появляется в Стиме (программа Steam) . Если это ваш случай, то возможно, решения из статьи вам так же пригодятся.

И вроде бы все логично. Компьютер не подключен к интернету, соответственно браузер не может загрузить сайт и выдает нам ошибку. Если бы не два но:

  1. Подключение к интернету активно. Не важно, по кабелю, или по Wi-Fi. Статус соединения без ошибок. На компьютере же сразу видно, когда есть какие-то проблемы с самим подключением.
  2. Когда действительно на компьютере есть проблемы с подключением, в браузере появляется совсем другая ошибка. Будь то Хром, Опера, Яндекс Браузер – не важно. Но там точно не эта красная надпись «Internet connection error».

Поэтому, причины скорее всего в другом.

Почему появляться ошибка INTERNET CONNECTION ERROR?

Я почему-то уверен, что это вирусы. Какое-то вредоносное программное обеспечение. Есть много такой гадости, которая попадая в систему меняет разные сетевые настройки, задает настройки прокси, перенаправляет на другие сайты, открывает рекламные сайты, изменяет файл hosts и т. д. Попадает такая гадость в систему чаще всего в процессе установки программ, драйверов и т. д.

Но чтобы понять в чем проблема и попытаться исправить ошибку простым способом, я рекомендую сделать это:

  • Убедится, что компьютер подключен к интернету и нет никаких ошибок. Перезагрузите компьютер, отключите и подключите интернет. Перезагрузите роутер, если он есть.
  • Попробуйте открыть сайты через другой браузер. Проверьте, ошибка появляется при заходе на какие-то конкретные сайты, или на все.
  • Отключите, а еще лучше удалите все «подозрительные» программы, которые вы устанавливали незадолго до появления ошибки подключения в браузере.
  • Остановите на время работу антивируса и брандмауэра. Если они есть.
  • Если ошибка в каком-то конкретном браузере (только в одном) , то отключите/удалите все расширения в этом браузере. Очистите историю. Можно сбросить настройки браузера.
  • Убедитесь, что проблема не в VPN. Если он настроен на вашем компьютере.

Если вы прошлись по всем пунктам, но так и не удалось избавится от надписи Internet connection error в браузере и не смогли понять в чем причина, то попробуйте более серьезные решения, которые я покажу ниже.

Как исправить ошибку?

Если после сканирования, очистки и перезагрузки компьютера проблема останется, то пробуйте другие решения. Так же можно еще просканировать систему с помощью утилиты Dr.Web CureIt!.

2 Сделайте сброс все сетевых параметров Windows. В Windows 7, Windows 8 и 8.1 нужно использовать командную строку. Вот подробная инструкция: сброс настроек сети TCP/IP и DNS в Windows 7.

А в Windows 10 можно сделать это немного проще – в параметрах.

Подробнее смотрите в этой статье.

3 Желательно проверить файл hosts. Нет ли там чего нибудь лишнего. Особенно, если вы видите сообщение INTERNET CONNECTION ERROR только при посещении каких-то определенных сайтов.

Например, при входе в ВК, YouTube, Одноклассники и т. д. Я уже рассказывал как это сделать в статье: браузер не открывает страницы, а интернет есть и Скайп работает. В разделе «Не открываются сайты из-за файла hosts».

Эти решения должны помочь. Если ошибка осталась, то можно еще сделать восстановление (откат) системы. Если у вас настроена эта функция.

Или опишите свой случай в комментариях. Напишите, что делали и устанавливали на компьютер перед появлением этой проблемы.

Может нам удастся найти причину и соответственно решение.

Установка и настройка Sphinx на Windows

9 июля 2015 г. 26 кодер.укр 5296

Подробное описание установки и настройки SphinxSearch на Windows

Информация! При написании статьи было использовано:

Однако это не значит, что на другой версии windows, denwer (LAMP, . ), Sphinx или MySql что то не будет работать.

Подразумеваем, что база данных уже создана. Если нет, то тестовую БД можете скачать здесь.

Скачайте актуальный релиз поисковой системы Sphinx с официального сайта: http://sphinxsearch.com/downloads/release/. На момент написания статьи последний релиз был Sphinx 2.2.9-release, я выбрал Win64 binaries w/MySQL+id64 support

Распакуйте архив в папку C:Sphinx . После разархивирования папка будет выглядеть следующим образом:

Далее необходимо создать внутри папки C:Sphinx еще 3 папки: data , log и dicts :

Внутри папки log создаем 3 файла: query.log , searchd.log и search.pid :

Открываем командную строку Windows (консоль, Win + R и вводим cmd ). Первое, что необходимо сделать — это установить службу Sphinx с помощью команд:

где ключ servicename определяет имя Вашей службы. После установки Вы увидите следующее сообщение в консоле:

Для удаления необходимо выполнить команду:

Далее необходимо создать кешированные Sphinx-ом документы по которым он будет осуществлять поиск (индексы). Для создания индексов необходимо сконфигурировать файл настроек этой системы. Внутри релиза уже представлены два файла: один с полным описанием — sphinx.conf.in , второй только с обязательными настройками sphinx-min.conf.in .Сделаем резервную копию файла sphinx.conf.in . Далее открываем его для редактирования, оставим, то что нужно, остальное удалим. Пример файла sphinx.conf.in (файл должен состоять минимум из 4 секций):

Скачать этот файл конфигураций можно здесь.

Возвращаемся в консоль и вводим команду для создания индекса.

Внимание! Создание индексов.
Если служба Sphinx не запущена, то выполняем команду:

Если служба запущена, для перегрузки индексов используется команда с дополнительным ключом:

Сейчас будем использовать первую команду:

После успешного создания индексов в консоле Вы увидите примерно следующее:

Далее необходимо запустить службу SphinxSearch. Для этого открываем меню Пуск Панель управления Администрирование Службы SphinxSearch Запустить (Start Control Panel Administrative Tools Services SphinxSearch Start).

Идем далее, если Вы используете denwer, то в консоле введите команду перехода в mysql denwer (путь может отличаться):

Для более корректного отображения кирилицы можно к команде дописать ключ устанавливающий кодировку по умолчанию, тогда команда примет вид:

После выполнения команды Вы увидите следующее:

Если у Вас установлен «чистый» MySql, то в консоле введите команду mysql . Если MySql не добавлен в переменные среды windows, то пропишите полный путь к нему, по примеру denwer.

И так, мы зашли в консоль MySql и теперь проверим работу sphinx. Для этого выполним следующий запрос:

Внимание! При написании SphinxQL запроса обращаться нужно не к таблице в вашей базе, а к индексу который Вы создали, то есть по имени которое Вы указали после слова index в конфиг файле ( sphinx.conf.in ), в нашем случае это testDocIndex и testDoc2Index

Готово! Sphinx установлен и работает! Если при проверке кирилица в консоли выглядит «кривыми иероглифами» не волнуйтесь, дело в кодировке ОС, скорее всего на сайте будет все нормально.

Внимание!

  • После любого изменения конфиг файла, в разделе searchd необходимо перезапустить службу SphinxSearch
  • Если вносите изменения в разделах sourse, index то что бы изменения были видны, необходимо пересоздать индексы, команда пересоздающая индексы при работающей службе была написана здесь
  • Язык SphinxQL хоть и похож на обычный SQL, тем не менее не обольщайтесь различий хватает

Мы публикуем только рабочие и проверенные примеры. Если у вас возникли вопросы, то задавайте их в комментариях, не стесняйтесь)

Если вам понравился опубликованный материал делитесь им и подписывайтесь на нас в соц. сетях

Sphinx connect error ошибка подключения 400

Приветствую!
Кто-нибудь сталкивался с такой ошибкой?

Connecting. Failed!
————————————
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Unable to complete network request to host «Softserver».
Failed to establish a connection.
unknown Win32 error 10060.

Возникает при попытке подключения с клиента к базе на сервере.
Параметры следующие:
Сервер: Удаленный
Имя сервера: SoftServer
Протокол: TCP/IP
Версия сервера: FireBird 1.5
Файл БД: D:DataKatalog.fdb
Пользователь: SYSDBA
Пароль: masterkey
Путь к служебной БД: Firebird_1_5security.fdb
Файл клиентской библиотеки: C:WINDOWSsystem32gds32.dll


Johnmen © ( 2005-10-31 18:03 ) [1]


DancerMan © ( 2005-10-31 18:10 ) [2]


> Johnmen © (31.10.05 18:03) [1]
> Строка подключения?

Это я в IBExperte на клиенте тестирую подключение. База не открывается и проверка коннекта выдает failed.
Прошу прощения, забыл написать.


Desdechado © ( 2005-10-31 18:15 ) [3]

case 10004: error = «Interrupted system call»; break;
case 10009: error = «Bad file number»; break;
case 10013: error = «Permission denied»; break;
case 10014: error = «Bad address»; break;
case 10022: error = «Invalid argument (not bind)»; break;
case 10024: error = «Too many open files»; break;
case 10035: error = «Operation would block»; break;
case 10036: error = «Operation now in progress»; break;
case 10037: error = «Operation already in progress»; break;
case 10038: error = «Socket operation on non-socket»; break;
case 10039: error = «Destination address required»; break;
case 10040: error = «Message too long»; break;
case 10041: error = «Protocol wrong type for socket»; break;
case 10042: error = «Bad protocol option»; break;
case 10043: error = «Protocol not supported»; break;
case 10044: error = «Socket type not supported»; break;
case 10045: error = «Operation not supported on socket»; break;
case 10046: error = «Protocol family not supported»; break;
case 10047: error = «Address family not supported by protocol family»; break;
case 10048: error = «Address already in use»; break;
case 10049: error = «Can»t assign requested address»; break;
case 10050: error = «Network is down»; break;
case 10051: error = «Network is unreachable»; break;
case 10052: error = «Net dropped connection or reset»; break;
case 10053: error = «Software caused connection abort»; break;
case 10054: error = «Connection reset by peer»; break;
case 10055: error = «No buffer space available»; break;
case 10056: error = «Socket is already connected»; break;
case 10057: error = «Socket is not connected»; break;
case 10058: error = «Can»t send after socket shutdown»; break;
case 10059: error = «Too many references, can»t splice»; break;
case 10060: error = «Connection timed out»; break;
case 10061: error = «Connection refused»; break;
case 10062: error = «Too many levels of symbolic links»; break;
case 10063: error = «File name too long»; break;
case 10064: error = «Host is down»; break;
case 10065: error = «No Route to Host»; break;
case 10066: error = «Directory not empty»; break;
case 10067: error = «Too many processes»; break;
case 10068: error = «Too many users»; break;
case 10069: error = «Disc Quota Exceeded»; break;
case 10070: error = «Stale NFS file handle»; break;
case 10091: error = «Network SubSystem is unavailable»; break;
case 10092: error = «WINSOCK DLL Version out of range»; break;
case 10093: error = «Successful WSASTARTUP not yet performed»; break;
case 10071: error = «Too many levels of remote in path»; break;
case 11001: error = «Host not found»; break;
case 11002: error = «Non-Authoritative Host not found»; break;
case 11003: error = «Non-Recoverable errors: FORMERR, REFUSED, NOTIMP»; break;
case 11004: error = «Valid name, no data record of requested type»; break;


Johnmen © ( 2005-10-31 18:18 ) [4]

>DancerMan © (31.10.05 18:10) [2]

Глупый вопрос — сервер запущен? Точно?
Второй глупый вопрос — компьютер с сервером вообще виден?
🙂


DancerMan © ( 2005-10-31 18:22 ) [5]


Johnmen © ( 2005-10-31 18:26 ) [6]

Ещё глупый вопрос — протокол TCP/IP поднят?


DancerMan © ( 2005-10-31 18:32 ) [7]


Johnmen © ( 2005-10-31 18:35 ) [8]


Desdechado © ( 2005-10-31 18:35 ) [9]

порт сервера и порт, в который ты долбишься, совпадают?
firewall не перекрывает?
по коду ошибки — таймаут. может, сетка забита? модем слабоватый?


DancerMan © ( 2005-10-31 18:42 ) [10]

Сетка локальная, пингуется замечательно.
А как порт узнать в который я пробиваюсь? Не знаю.:(


Zacho © ( 2005-10-31 23:48 ) [11]

ping softserver проходит ? Именно по имени softserver, а не по ip-адресу ?

> А как порт узнать в который я пробиваюсь?

в firebird.conf посмотри параметры RemoteServiceName и RemoteServicePort. Если перед именем параметров стоит # — значит, они умолчательные, gds_db и 3050 соответственно. Подробно о конфигурировании портов описано в Release Notes, глава Configuring the port service on client and server.
Так же советую прочитать http://www.ibase.ru/ibfaq.htm#noconnect и http://www.ibase.ru/devinfo/ibinstallfaq.txt вопрос 2Q


DrPass © ( 2005-11-01 02:47 ) [12]

Если это Windows XP SP2, то по умолчанию порт 3050 закрыт Windows Firewall. Нужно открыть


DancerMan © ( 2005-11-01 12:31 ) [13]

1. Открыл на сервере порт 3050.
2. В firebird.conf
Изменил строчку RemoteServicePort = 3050 на
RemoteServicePort = 3050/tcp
3. Перезапустил сервер FireBird

Только после этого получилось приконнектиться к базе.

Всем спасибо!
Мой вопрос закрыт.

Источник

Как установить Sphinx на битрикс?
нашел на https://beget.com/ru/articles/sphinx_bitrix инструкции, но в разделе «Далее необходимо скопировать конфигурационный файл, представленный на странице настройки, удалив из него строку «infix_fields=». Затем нажать «Применить» сохранив настройки.»
не удается выполнить сохранение, возникает ошибка «Ошибка подключения к серверу Sphinx:
Ошибка подключения (Connection refused). »


  • Вопрос задан

    более трёх лет назад

  • 3890 просмотров

Пользователь 44828

Эксперт

Сообщений: 1132
Баллов: 198
Авторитет:

0

Рейтинг пользователя:

2

Регистрация: 01.07.2009

два сайта на одном сервере(лицензии разные)
сфикс установлен — на одном сайте подключен, работает
для вторго создаю 2 индекс в конфиге
в настройках модуля выбираю использовать сфинкс, указываю новый индекс и получаю ошибку

Код
Ошибка подключения к серверу Sphinx:
Указанный индекс не найден.

вот полный конфиг

Код
indexer
{
   mem_limit      = 32M
}


searchd
{
        listen                  = 127.0.0.1:9312
   listen         = 9306:mysql41
   log         = /var/log/sphinx/searchd.log
   query_log      = /var/log/sphinx/query.log
   read_timeout      = 5
   max_children      = 30
   pid_file      = /var/run/sphinx/searchd.pid
   max_matches      = 1000
   seamless_rotate      = 1
   preopen_indexes      = 1
   unlink_old      = 1
   workers         = threads # for RT to work
   binlog_path      = /var/lib/sphinx
}



source art
{
   type         = mysql
   sql_host      = localhost
   sql_user      = ******
   sql_pass      = *******
   sql_db         = ******
   sql_port      = 3306   # optional, default is 3306
 
   sql_query_pre = SET NAMES utf8
   sql_query_pre = SET CHARACTER SET utf8
 
   sql_query      = 
      SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content 
      FROM documents
 
 
   sql_attr_uint      = group_id
   sql_attr_timestamp   = date_added
   sql_ranged_throttle   = 0
   sql_query_info      = SELECT * FROM documents WHERE id=$id
 
}

source trv
{
   type         = mysql
   sql_host      = localhost
   sql_user      = ****
   sql_pass      = ****
   sql_db         = ****
   sql_port      = 3306   # optional, default is 3306
 
   sql_query_pre = SET NAMES utf8
   sql_query_pre = SET CHARACTER SET utf8
 
   sql_query      = 
      SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content 
      FROM documents
 
 
   sql_attr_uint      = group_id
   sql_attr_timestamp   = date_added
   sql_ranged_throttle   = 0
   sql_query_info      = SELECT * FROM documents WHERE id=$id
 
}

index bitrix_art
{
   #main settings
   source         = art
      type = rt
      path = /var/lib/sphinx/bitrix_art
      docinfo = inline
      morphology = stem_enru, soundex
      dict = keywords
      prefix_fields = title
      infix_fields=
      min_prefix_len = 2
      enable_star = 1
      rt_field = title
      rt_field = body
      rt_attr_uint = module_id
      rt_attr_string = module
      rt_attr_uint = item_id
      rt_attr_string = item
      rt_attr_uint = param1_id
      rt_attr_string = param1
      rt_attr_uint = param2_id
      rt_attr_string = param2
      rt_attr_timestamp = date_change
      rt_attr_timestamp = date_to
      rt_attr_timestamp = date_from
      rt_attr_uint = custom_rank
      rt_attr_multi = tags
      rt_attr_multi = right
      rt_attr_multi = site
      rt_attr_multi = param
      charset_type = sbcs
}

index bitrix_trv
{
   #main settings
   source         = trv
      type = rt
      path = /var/lib/sphinx/bitrix_trv
      docinfo = inline
      morphology = stem_enru, soundex
      dict = keywords
      prefix_fields = title
      infix_fields=
      min_prefix_len = 2
      enable_star = 1
      rt_field = title
      rt_field = body
      rt_attr_uint = module_id
      rt_attr_string = module
      rt_attr_uint = item_id
      rt_attr_string = item
      rt_attr_uint = param1_id
      rt_attr_string = param1
      rt_attr_uint = param2_id
      rt_attr_string = param2
      rt_attr_timestamp = date_change
      rt_attr_timestamp = date_to
      rt_attr_timestamp = date_from
      rt_attr_uint = custom_rank
      rt_attr_multi = tags
      rt_attr_multi = right
      rt_attr_multi = site
      rt_attr_multi = param
      charset_type = sbcs
}
 

в чем может быть проблема
при запуске из консоли выдает

Код
indexer --all --rotate
Sphinx 2.0.8-id64-release (r3831)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinx/sphinx.conf'...
skipping non-plain index 'bitrix_art'...
skipping non-plain index 'bitrix_trv'...
total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
 

I have a RoR app with Posgresql as database. I’m trying to setup search functionality by using Sphinx as search engine and Thinking Sphinx gem. I’ve installed sphinx with mysql and postgresql support, thinking sphinx v3 gem and it’s dependencies.

The command

rake ts:index

performs without errors. Log says that I have 20 docs indexed (all my records of Post model).
Then I’ve tried to create controller and view for search results page. Here’s the Controller’s search action

def search
    @query = Riddle::Query.escape(params[:q])
    @posts = Post.search(@query)
end

And when I try to use @posts variable in search view

localhost:3000/search?q=hello

I have following error.

ThinkingSphinx::ConnectionError in Main#search

Error connecting to Sphinx via the MySQL protocol. Error connecting to Sphinx via the MySQL protocol. Can’t connect to MySQL server on ‘127.0.0.1’ (61) — SELECT * FROM post_core WHERE MATCH(‘hello’) AND sphinx_deleted = 0 LIMIT 0, 20; SHOW META

Community's user avatar

asked Nov 27, 2014 at 18:37

femalemoustache's user avatar

The ts:index task just stores the Sphinx data, it doesn’t start the daemon which responds to search requests. You need to run ts:start rake task for this to happen.

Also: ts:rebuild does all of this at once: stops Sphinx (if it’s running), indexes data, starts Sphinx.

answered Nov 28, 2014 at 3:43

pat's user avatar

patpat

16k4 gold badges40 silver badges46 bronze badges

0

Thinking Sphinx uses mysql for its internal purposes and you have to add mysql2 gem to your stack, e.g:

gem 'mysql2', '~> 0.3.13'
gem 'thinking-sphinx', '~> 3.1.1'

answered Nov 27, 2014 at 18:52

blelump's user avatar

blelumpblelump

3,2231 gold badge15 silver badges20 bronze badges

I was stuck at all and facing the same error, Finally I found that I have not installed «Sphinx» on my local system with this command,

sudo apt-get update
sudo apt-get install sphinxsearch

More detail regarding installation you can find here

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-sphinx-on-ubuntu-14-04

Make sure you should also have installed «mysql-server» on your system to create connection.

Also I looked @blelump’s answer was my second step. You should include those gems too in order to run with sphinx.

Then move to @pat’s answer was my final step to go, When you installed sphinx it will start service but you need to stop service to run,

rake ts:index
rake ts:rebuild

Here to go with SPHINX.

answered Oct 9, 2015 at 4:44

SSR's user avatar

SSRSSR

6,3784 gold badges33 silver badges50 bronze badges

I have a RoR app with Posgresql as database. I’m trying to setup search functionality by using Sphinx as search engine and Thinking Sphinx gem. I’ve installed sphinx with mysql and postgresql support, thinking sphinx v3 gem and it’s dependencies.

The command

rake ts:index

performs without errors. Log says that I have 20 docs indexed (all my records of Post model).
Then I’ve tried to create controller and view for search results page. Here’s the Controller’s search action

def search
    @query = Riddle::Query.escape(params[:q])
    @posts = Post.search(@query)
end

And when I try to use @posts variable in search view

localhost:3000/search?q=hello

I have following error.

ThinkingSphinx::ConnectionError in Main#search

Error connecting to Sphinx via the MySQL protocol. Error connecting to Sphinx via the MySQL protocol. Can’t connect to MySQL server on ‘127.0.0.1’ (61) — SELECT * FROM post_core WHERE MATCH(‘hello’) AND sphinx_deleted = 0 LIMIT 0, 20; SHOW META

Community's user avatar

asked Nov 27, 2014 at 18:37

femalemoustache's user avatar

The ts:index task just stores the Sphinx data, it doesn’t start the daemon which responds to search requests. You need to run ts:start rake task for this to happen.

Also: ts:rebuild does all of this at once: stops Sphinx (if it’s running), indexes data, starts Sphinx.

answered Nov 28, 2014 at 3:43

pat's user avatar

patpat

16k4 gold badges40 silver badges46 bronze badges

0

Thinking Sphinx uses mysql for its internal purposes and you have to add mysql2 gem to your stack, e.g:

gem 'mysql2', '~> 0.3.13'
gem 'thinking-sphinx', '~> 3.1.1'

answered Nov 27, 2014 at 18:52

blelump's user avatar

blelumpblelump

3,2231 gold badge15 silver badges20 bronze badges

I was stuck at all and facing the same error, Finally I found that I have not installed «Sphinx» on my local system with this command,

sudo apt-get update
sudo apt-get install sphinxsearch

More detail regarding installation you can find here

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-sphinx-on-ubuntu-14-04

Make sure you should also have installed «mysql-server» on your system to create connection.

Also I looked @blelump’s answer was my second step. You should include those gems too in order to run with sphinx.

Then move to @pat’s answer was my final step to go, When you installed sphinx it will start service but you need to stop service to run,

rake ts:index
rake ts:rebuild

Here to go with SPHINX.

answered Oct 9, 2015 at 4:44

SSR's user avatar

SSRSSR

6,3784 gold badges33 silver badges50 bronze badges

I have a problem starting and working with sphinx.
I was able to run indexer --all, but now I want to search it, and I keep getting this error when I run searchd --status.

WARNING: failed to connect to 127.0.0.1:9312: Connection refused

WARNING: failed to connect to 0.0.0.0:9306: Connection refused

FATAL: failed to connect to daemon: please specify listen with sphinx protocol in your config file

sphinx query() returns false, and I guess that’s related to connection problem.

Here’s the part of my .conf file.

searchd
{
    listen                  = 127.0.0.1:9312
    listen          = 9306:sphinx
    listen          = 2471:mysql41
    log         = /var/log/sphinx/searchd.log
    query_log       = /var/log/sphinx/query.log
    max_matches     = 1000
    read_timeout        = 5
    max_children        = 30
    pid_file        = /var/run/sphinx/searchd.pid
    seamless_rotate     = 1
    preopen_indexes     = 1
    unlink_old      = 1
    workers         = threads # for RT to work
    binlog_path     = /var/lib/sphinx
 }

What am I missing in configuration of listening ports?

asked Sep 17, 2014 at 17:24

Ned's user avatar

6

As noted in comments, indicates searchd daemon not actully running.

Can try using searchd to start the daemon (and later searchd --stop), which can show errors you might not see with using service/init.d starting.

(because if the log file itself is not functional, there is nowhere for errors to go

answered Sep 17, 2014 at 18:19

barryhunter's user avatar

barryhunterbarryhunter

20.9k3 gold badges29 silver badges43 bronze badges

У меня проблема с запуском и работой с sphinx. Мне удалось запустить indexer --all, но теперь я хочу выполнить поиск, и у меня постоянно появляется эта ошибка при запуске searchd --status.

WARNING: failed to connect to 127.0.0.1:9312: Connection refused

WARNING: failed to connect to 0.0.0.0:9306: Connection refused

FATAL: failed to connect to daemon: please specify listen with sphinx protocol in your config file

Sphinx query () возвращает false, и я предполагаю, что это связано с проблемой подключения.

Вот часть моего файла .conf.

searchd
{
    listen                  = 127.0.0.1:9312
    listen          = 9306:sphinx
    listen          = 2471:mysql41
    log         = /var/log/sphinx/searchd.log
    query_log       = /var/log/sphinx/query.log
    max_matches     = 1000
    read_timeout        = 5
    max_children        = 30
    pid_file        = /var/run/sphinx/searchd.pid
    seamless_rotate     = 1
    preopen_indexes     = 1
    unlink_old      = 1
    workers         = threads # for RT to work
    binlog_path     = /var/lib/sphinx
 }

Что мне не хватает в настройке портов прослушивания?

1 ответ

Лучший ответ

Как отмечено в комментариях, означает, что демон searchd не работает на самом деле.

Можно попробовать использовать searchd для запуска демона (и более позднего searchd --stop), который может показывать ошибки, которые вы могли не увидеть при запуске service / init.d.

(потому что, если сам файл журнала не работает, ошибкам некуда идти


2

barryhunter
17 Сен 2014 в 22:19

I have sphinx setup to run in config files on port 3312. I can use the indexer, and create the index. I can search.

I can’t run searchd to return queries. I tried telnet 127.0.0.1 3312. My connection is refused.

Whats my next step? I am not very good with Iptables.

Wesley's user avatar

Wesley

32.4k9 gold badges80 silver badges116 bronze badges

asked Sep 1, 2011 at 19:58

Brandon Ellis's user avatar

You should start searchd first, something like /usr/local/bin/searchd (you should use actual path to searchd, try locate searchd to get it)

Okay, it looks like you have two listen directives in your config:

listen = {port}
listen = {sql_host}:{sql_port}:mysql41

and the second one is obviously not right

answered Sep 1, 2011 at 20:01

Alex's user avatar

AlexAlex

7,8695 gold badges36 silver badges52 bronze badges

13

It may be because the port is already hold by some else daemon. If the ‘127.0.0.1:3306’ is failed — it is nothing surprising, since 3306 is the port for mysqld.
You can try the 9312 (sphinx api) and 9306 (sphinxql) as official IANA assigned ports for sphinx.

answered Oct 30, 2011 at 8:44

Alexey's user avatar

Sphinx (англ. SQL Phrase Index) — система полнотекстового поиска, разработанная Андреем Аксеновым и распространяемая по лицензии GNU GPL. Отличительной особенностью этого поискового движка является высокая скорость индексации и поиска, возможность использовать морфологический и полнотекстовый поиск.

SphinxSE уже обрел популярность среди разработчиков: именно с его помощью осуществляется поиск на популярном Хабрахабре, проекте Викимапия, сайтах популярного книжного интернет-магазина Буквоед и «Санкт-Петербургского Дома Книги», BitTorrent-трекере The Pirate Bay (небезызвестная «Пиратская бухта») и других высоконагруженных проектах.

Полнотекстовый поиск Sphinx доступен в продуктах «1С-Битрикс» с версии 14.0.0. Он позволяет сделать быстрым и качественным поиск на вашем сайте, снизить нагрузку на сервер, а также он полностью интегрирован с компонентами модуля Поиск.

Внимание!

Начиная с версии Sphinx 2.2.1 опция charset_type объявлена как устаревшая:

In 2.2.1-beta version we decided to start removing some old features. All of them was ‘unofficially’ deprecated for some time. And we’re informing you now about it. charset_type=sbcs is now deprecated, we’re slowly switching to UTF-only. Even if your database is SBCS (likely for legacy reasons too, eh?), this should be absolutely trivial to workaround, just add a pre-query to fetch your data in UTF-8 and you’re all set. Also, in fact, our current UTF-8 tokenizer is even faster than the SBCS one.

Несмотря на то, что в документации к модулю «Поиск» начиная с версии v16.5.0 заявляется о поддержке Sphinx 2.2.10 — она работает исключительно для сайтов в кодировке UTF-8.

Для настройки необходимо зайти в административную панель сайта, затем перейти в меню «Настройки» -> «Настройки продукта» -> «Настройки модулей» -> «Поиск».

настройка поиска sphinx в bitrix

Затем перейти во вкладку «Морфология» и в выпадающем списке меню «Полнотекстовый поиск с помощью» выбрать «Sphinx».

настройка поиска sphinx в bitrix

Для своей работы Bitrix использует RT индексы, то есть, фактически, запись осуществляется в два места одновременно — в базу данных и сервер полнотекстового поиска Sphinx, при этом сам Indexer (программа индексации из набора Sphinx) не обновляет индексы. Этот подход позволяет всегда осуществлять поиск по актуальной информации.

Далее необходимо скопировать конфигурационный файл, представленный на странице настройки:

#sphinx.conf
index bitrix
{
	#main settings
	type = rt
	path = /var/lib/sphinxsearch/data/bitrix
	docinfo = inline
	#choose appropriate type of morphology to use
	#morphology = lemmatize_ru_all, lemmatize_en_all, lemmatize_de_all, stem_enru
	morphology = stem_enru, soundex
	#these settings are used by bitrix:search.title component
	dict = keywords
	prefix_fields = title
	infix_fields=
	min_prefix_len = 2
	enable_star = 1
	#all fields must be defined exactly as followed
	rt_field = title
	rt_field = body
	rt_attr_uint = module_id
	rt_attr_string = module
	rt_attr_uint = item_id
	rt_attr_string = item
	rt_attr_uint = param1_id
	rt_attr_string = param1
	rt_attr_uint = param2_id
	rt_attr_string = param2
	rt_attr_timestamp = date_change
	rt_attr_timestamp = date_to
	rt_attr_timestamp = date_from
	rt_attr_uint = custom_rank
	rt_attr_multi = tags
	rt_attr_multi = right
	rt_attr_multi = site
	rt_attr_multi = param
	#depends on settings of your site
	# uncomment for single byte character set
	charset_type = sbcs
	# uncomment for UTF character set
	#charset_type = utf-8
}

удалив из него строку «infix_fields=». Затем нажать «Применить» сохранив настройки.
На этом первая часть настройки CMS Bitrix для работы с сервером полнотекстового поиска закончена, далее необходимо настроить сам сервер.

Настройка параметров Sphinx происходит в панели управления хостингом — для этого нужно зайти в раздел «Сервисы» -> «Sphinx» или перейти по ссылке https://cp.beget.com/cloudservices/sphinx/. Выбираем необходимый тариф и включаем демон полнотекстового поиска:

включение sphinx в панели управления cp.beget.com

Далее переходим на вкладку «Индексация» -> «Редактор конфигурации», вставляем скопированное ранее содержимое конфигурационного файла (с удалением строки «infix_fields=»), и нажимаем «Сохранить»:

включение sphinx в панели управления cp.beget.com

Переходим на вкладку «Поисковый сервер» и включаем его.

включение sphinx на хостинге beget.com

Так как используются индексы реального времени, необходимо полностью проиндексировать сайт, для этого снова переходим во вкладку «Морфология» панели управления сайтом, в выпадающем списке меню «Полнотекстовый поиск с помощью» выбираем «Sphinx» и нажимаем «Применить».

После применения изменений появится сообщение о необходимости полностью проиндексировать сайт, нажимаем на «Переиндексировать сайт»:

включение sphinx на хостинге beget.com

Попав на страницу индексации снимаем галочку «Проиндексировать только измененные» и нажимаем «Переиндексировать»:

включение sphinx на хостинге beget.com

Настройка полнотекстового поиска закончена! Проверить работу поиска можно на Вашем сайте.

Если при установке или настройке возникли проблемы, Вы можете обратиться в нашу техническую поддержку — мы с радостью поможем и ответим на все Ваши вопросы.

Я пытаюсь настроить поисковик sphinx на сервере.

На сервере уже есть другой демон поиска sphinx, который запускается от другого пользователя для другого сайта с другим файлом конфигурации (порт 3312).

Вот мой конфигурационный файл sphinx /opt/sphinx/etc/site-sphinx.conf

source site_source
{
type        = mysql
sql_host    = localhost
sql_user    = username
sql_pass    = password
sql_db      = dbname
sql_port    = 3306
sql_sock    = /var/run/mysqld/mysqld.sock

mysql_connect_flags = 32

sql_query_pre       = SET NAMES utf8
sql_query_pre       = SET SESSION query_cache_type=ON

sql_query = SELECT id, title, description, is_deleted, created_at, updated_at FROM table WHERE is_deleted = 0

sql_attr_bool       = is_deleted
sql_attr_timestamp  = created_at
sql_attr_timestamp  = updated_at

sql_ranged_throttle = 0
}

index sitename
{
type                = plain
source              = site_source

path                = /opt/sphinx/var/data/site_index/site
docinfo             = extern
dict                = keywords
mlock               = 0
morphology          = stem_en, stem_ru, soundex, metaphone

enable_star         = 1
min_stemming_len    = 1
min_word_len        = 1
min_infix_len       = 3

html_strip          = 1
html_remove_elements    = style, script
}

indexer
{
mem_limit                   = 1024M
}

searchd
{
listen                  = 127.0.0.1:3313
log                     = /opt/sphinx/var/log/site/search.log
query_log               = /opt/sphinx/var/log/site/query.log
binlog_path             = /opt/sphinx/var/data/site_binlog

read_timeout            = 5
max_children            = 30
pid_file                = /opt/sphinx/var/run/searchd-site.pid
}

Я должен начать sphinxd

site@servername:~$ /opt/sphinx/bin/searchd --config /opt/sphinx/etc/site-sphinx.conf
Sphinx 2.2.9-id64-release (rel22-r5006)
Copyright (c) 2001-2015, Andrew Aksyonoff
Copyright (c) 2008-2015, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/opt/sphinx/etc/site-sphinx.conf'...
WARNING: key 'enable_star' was permanently removed from Sphinx configuration. Refer to documentation for details.
listening on 127.0.0.1:3313
precaching index 'site'
precached 1 indexes in 0.051 sec


shapoval@sitename$ netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3313          0.0.0.0:*               LISTEN      21225/searchd
tcp        0      0 127.0.0.1:3312          0.0.0.0:*               LISTEN      26694/searchd
tcp6       0      0 :::3306                 :::*                    LISTEN      16998/mysqld

И я должен начать индексирование

site@servername:~$ /opt/sphinx/bin/indexer --all --rotate --config /opt/sphinx/etc/site-sphinx.conf delta
using config file '/opt/sphinx/etc/site-sphinx.conf'...
WARNING: key 'enable_star' was permanently removed from Sphinx configuration. Refer to documentation for details.
indexing index 'site'...
WARNING: index 'site': dict=keywords and prefixes and morphology enabled, forcing index_exact_words=1
collected 1660326 docs, 674.2 MB
sorted 231.9 Mhits, 100.0% done
total 1660326 docs, 674237370 bytes
total 155.531 sec, 4335045 bytes/sec, 10675.15 docs/sec
total 16 reads, 15.074 sec, 61858.4 kb/call avg, 942.1 msec/call avg
total 1950 writes, 1.040 sec, 998.5 kb/call avg, 0.5 msec/call avg
rotating indices: successfully sent SIGHUP to searchd (pid=25377).

Но я не могу подключиться к базе данных, ни из командной строки, ни из php (я использую yii2, для подключения к sphinx используйте yii2-sphinx).

Когда я пытаюсь подключиться к mysql из командной строки, возникает ошибка:

shapoval@servername$ mysql -h0 -P3313 -u username -p
Enter password:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not system error)"

При попытке запустить запрос с сайта возникает несколько ошибок:

2015-12-22 10:03:08 [10.10.10.10][][-][error][yiidbException] exception 'yiibaseErrorException' with message 'Packets out of order. Expected 0 received 1. Packet size=0' in /var/www/sitename/vendor/yiisoft/yii2/db/Connection.php:558
Stack trace:
#0 /var/www/sitename/common/extensions/rollbar/RollbarErrorHandlerTrait.php(35): yiibaseErrorHandler->handleError(2, 'Packets out of ...', '/var/www/sitename...', 558)
#1 [internal function]: commonextensionsrollbarRollbarErrorHandler->handleError(2, 'Packets out of ...', '/var/www/sitename...', 558, Array)
#2 /var/www/sitename/vendor/yiisoft/yii2/db/Connection.php(558): PDO->__construct('mysql:host=127....', 'username', 'password', NULL)
#3 /var/www/sitename/vendor/yiisoft/yii2/db/Connection.php(508): yiidbConnection->createPdoInstance()
#4 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Connection.php(112): yiidbConnection->open()
#5 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(255): yiisphinxConnection->createCommand('SHOW TABLES')
#6 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(239): yiisphinxSchema->findIndexes()
#7 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(226): yiisphinxSchema->initIndexesInfo()
#8 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(113): yiisphinxSchema->getIndexTypes()
#9 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(88): yiisphinxSchema->resolveIndexType(Object(yiisphinxIndexSchema))
#10 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(151): yiisphinxSchema->loadIndexSchema('sitename')
#11 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Connection.php(78): yiisphinxSchema->getIndexSchema('sitename', false)
#12 /var/www/sitename/html/vendor/yiisoft/yii2-sphinx/QueryBuilder.php(494): yiisphinxConnection->getIndexSchema('sitename')
#13 /var/www/sitename/vendor/yiisoft/yii2-sphinx/QueryBuilder.php(81): yiisphinxQueryBuilder->buildWhere(Array, 'MATCH(:qp0)', Array)
#14 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Query.php(171): yiisphinxQueryBuilder->build(Object(yiisphinxQuery))
#15 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Query.php(184): yiisphinxQuery->createCommand(NULL)
#16 /var/www/sitename/common/actions/SphinxSearchAction.php(78): yiisphinxQuery->all()
#17 [internal function]: commonactionsSphinxSearchAction->run()
#18 /var/www/sitename/vendor/yiisoft/yii2/base/Action.php(91): call_user_func_array(Array, Array)
#19 /var/www/sitename/vendor/yiisoft/yii2/base/Controller.php(147): yiibaseAction->runWithParams(Array)
#20 /var/www/sitename/vendor/yiisoft/yii2/base/Module.php(460): yiibaseController->runAction('search', Array)
#21 /var/www/sitename/vendor/yiisoft/yii2/web/Application.php(82): yiibaseModule->runAction('site/search', Array)
#22 /var/www/sitename/vendor/yiisoft/yii2/base/Application.php(369): yiiwebApplication->handleRequest(Object(yiiwebRequest))
#23 /var/www/sitename/frontend/web/index.php(18): yiibaseApplication->run()
#24 {main}

Next exception 'PDOException' with message 'SQLSTATE[HY000] [2006] MySQL server has gone away' in /var/www/sitename/vendor/yiisoft/yii2/db/Connection.php:558
Stack trace:
#0 /var/www/sitename/vendor/yiisoft/yii2/db/Connection.php(0): PDO->__construct()
#1 /var/www/sitename/vendor/yiisoft/yii2/db/Connection.php(508): yiidbConnection->createPdoInstance()
#2 /var/www/sitename/yiisoft/yii2-sphinx/Connection.php(112): yiidbConnection->open()
#3 /var/www/sitename/yiisoft/yii2-sphinx/Schema.php(255): yiisphinxConnection->createCommand('SHOW TABLES')
#4 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(239): yiisphinxSchema->findIndexes()
#5 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(226): yiisphinxSchema->initIndexesInfo()
#6 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(113): yiisphinxSchema->getIndexTypes()
#7 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(88): yiisphinxSchema->resolveIndexType(Object(yiisphinxIndexSchema))
#8 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(151): yiisphinxSchema->loadIndexSchema('sitename')
#9 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Connection.php(78): yiisphinxSchema->getIndexSchema('sitename', false)
#10 /var/www/sitename/vendor/yiisoft/yii2-sphinx/QueryBuilder.php(494): yiisphinxConnection->getIndexSchema('sitename')
#11 /var/www/sitename/vendor/yiisoft/yii2-sphinx/QueryBuilder.php(81): yiisphinxQueryBuilder->buildWhere(Array, 'MATCH(:qp0)', Array)
#12 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Query.php(171): yiisphinxQueryBuilder->build(Object(yiisphinxQuery))
#13 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Query.php(184): yiisphinxQuery->createCommand(NULL)
#14 /var/www/sitename/common/actions/SphinxSearchAction.php(78): yiisphinxQuery->all()
#15 [internal function]: commonactionsSphinxSearchAction->run()
#16 /var/www/sitename/vendor/yiisoft/yii2/base/Action.php(91): call_user_func_array(Array, Array)
#17 /var/www/sitename/vendor/yiisoft/yii2/base/Controller.php(147): yiibaseAction->runWithParams(Array)
#18 /var/www/sitename/vendor/yiisoft/yii2/base/Module.php(460): yiibaseController->runAction('search', Array)
#19 /var/www/sitename/vendor/yiisoft/yii2/web/Application.php(82): yiibaseModule->runAction('site/search', Array)
#20 /var/www/sitename/vendor/yiisoft/yii2/base/Application.php(369): yiiwebApplication->handleRequest(Object(yiiwebRequest))
#21 /var/www/sitename/frontend/web/index.php(18): yiibaseApplication->run()
#22 {main}

Next exception 'yiidbException' with message 'SQLSTATE[HY000] [2006] MySQL server has gone away' in /var/www/sitename/vendor/yiisoft/yii2/db/Connection.php:513
Stack trace:
#0 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Connection.php(112): yiidbConnection->open()
#1 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(255): yiisphinxConnection->createCommand('SHOW TABLES')
#2 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(239): yiisphinxSchema->findIndexes()
#3 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(226): yiisphinxSchema->initIndexesInfo()
#4 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(113): yiisphinxSchema->getIndexTypes()
#5 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(88): yiisphinxSchema->resolveIndexType(Object(yiisphinxIndexSchema))
#6 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Schema.php(151): yiisphinxSchema->loadIndexSchema('sitename')
#7 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Connection.php(78): yiisphinxSchema->getIndexSchema('sitename', false)
#8 /var/www/sitename/vendor/yiisoft/yii2-sphinx/QueryBuilder.php(494): yiisphinxConnection->getIndexSchema('sitename')
#9 /var/www/sitename/vendor/yiisoft/yii2-sphinx/QueryBuilder.php(81): yiisphinxQueryBuilder->buildWhere(Array, 'MATCH(:qp0)', Array)
#10 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Query.php(171): yiisphinxQueryBuilder->build(Object(yiisphinxQuery))
#11 /var/www/sitename/vendor/yiisoft/yii2-sphinx/Query.php(184): yiisphinxQuery->createCommand(NULL)
#12 /var/www/sitename/common/actions/SphinxSearchAction.php(78): yiisphinxQuery->all()
#13 [internal function]: commonactionsSphinxSearchAction->run()
#14 /var/www/sitename/vendor/yiisoft/yii2/base/Action.php(91): call_user_func_array(Array, Array)
#15 /var/www/sitename/vendor/yiisoft/yii2/base/Controller.php(147): yiibaseAction->runWithParams(Array)
#16 /var/www/sitename/vendor/yiisoft/yii2/base/Module.php(460): yiibaseController->runAction('search', Array)
#17 /var/www/sitename/vendor/yiisoft/yii2/web/Application.php(82): yiibaseModule->runAction('site/search', Array)
#18 /var/www/sitename/vendor/yiisoft/yii2/base/Application.php(369): yiiwebApplication->handleRequest(Object(yiiwebRequest))
#19 /var/www/sitename/frontend/web/index.php(18): yiibaseApplication->run()
#20 {main}

Настройки подключения Sphinx в yii2

<?php
return [
'dsn' => 'mysql:host=127.0.0.1;port=3313;',
'username' => 'username',
'password' => 'password',
];

Код в yii2 для выполнения запроса

$query = (new Query())
->from('sourceName')
->match('*'.Yii::$app->request->get('q').'*');
$rows = $query->all();

Дополнительная информация о сервере:

  • Ubuntu 15.04
  • Linux 3.19.0-21-generic x86_64
  • Sphinx 2.2.9-id64-release (rel22-r5006)
  • MySQL 10.0.20-MariaDB-1 ~ vivid-log

В чем может быть проблема?

Буду рад любой помощи. Спасибо!

2

  • Главная
  • Новые

Не делает индексацию..

/usr/local/sphinx/bin/indexer —all
Sphinx 2.0.9-release (rel20-r4115)
Copyright (c) 2001-2013, Andrew Aksyonoff
Copyright (c) 2008-2013, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file ‘/usr/local/sphinx/etc/sphinx.conf’…
indexing index ‘nameuser_prefix_topicsIndex’…
ERROR: index ‘nameuser_prefix_topicsIndex’: sql_connect: Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0 (DSN=mysql://nameuser:***@ip.ip.ip.ip:port/nameuser).
total 0 docs, 0 bytes
total 60.058 sec, 0 bytes/sec, 0.00 docs/sec
indexing index ‘nameuser_prefix_commentsIndex’…
FATAL: failed to lock /var/lib/sphinxsearch/data/nameuser_prefix_data/commentsIndex.spl: Resource temporarily unavailable, will not index. Try —rotate option.

Система Debian 6.0 squeeze
Делал по инструкции http://ls.vaktive.ru/setup-server/1/ustanovka-i-nastroyka-sphinx-205-debian-60-squeeze.html


Похожие статьи

  • Ошибка в плагине «Гостевые комментарии»

    Устанавливаю плагин «Гостевые комментарии», побывал разные версии: из каталога 1.1.9 и с гитхаба 1.1.10 на AltoCMS 1.1.29

    В настройках указываю обязательный email адрес, нажимаю сохранить и вылетает такая ошибка…

  • Настройка страниц

    Как настроить созданные страницы, чтобы были доступны: имясайт.ru/page/about.html а не имясайт.ru/page/about/

    Меняю в админке URL, выдает ошибку:

    И как можно вообще убрать слово «page». Чтобы адрес был как в…

  • Importer

    Добрый день.
    1) нет темы данного плагина
    2) нет описания как его настроить под Alto, кто разобрался поделитесь своим опытом пожалуйста. Лично я вам буду благодарен.
    3) может вы что-то добавили, или переделали в…

  • Про секретную админку, поддомены и прочие тонкости маршрутизации в Alto CMS

    Довольно часто встречаются такие вопросы:
    А как сделать, чтобы админка работала не по адресу site.com/admin, а по секретному адресу, который знаю только я? Или вопрос из этой же серии: как сделать, чтоб блоги…


В начале этого года Битрикс выпустили новую, седьмую, версию своего “Веб-окружения”. Самое главное – теперь официально поддерживается установка на CentOS 7 и php 7. Небольшое пояснение, если вы не в курсе. «1С-Битрикс: Веб-окружение» – это готовая среда с предустановленным рекомендуемым набором программного обеспечения, необходимого для корректной работы CMS 1С-Битрикс. Поставляется как в большом многообразии – есть готовые образа для различной виртуализации (подробнее см. на официальном сайте) и установочный скрипт для установки на сервер. Вот работу с последним мы и рассмотрим.

Что получим

Веб-окружение позиционируется, как лучшее решение для всей линейки продуктов Битрикс – как для всех редакций “1С-Битрикс: Управление Сайтом” так и для коробки Битрикс24. Давайте посмотрим, что нам предлагают использовать в качестве рекомендуемой связки.
Сама схема традиционна: Apache+nginx. Для текущей 7.0.1 версии веб-окружения используются стабильные Apache 2.4 и nginx 1.10.2. Самое главное нововведение, переход на php 7. Про официальную поддержку nginx+php-fpm пока даже слухов нет, так что данный вариант по прежнему придется собирать руками.
Версия MySQL, а точнее форка MariaDB, по прежнему 5.5, в соответствии с официальными репозиториями CentOS. Хотя, если вы обновлялись до последних версий Битрикс, наверняка встречали предложение выполнить в консоли БД некий sql-запрос для модуля “Веб-мессенджер”, который можно провернуть только с версией 5.6. Про переход на 5.6, так же как нибудь расскажу.
Что еще входит в пакет:

  • memcached – сервис обеспечивающий кеширование данных в ОЗУ, при правильном использовании дает значительное ускорение работы. По умолчанию не используется;
  • stunnel – для организации шифрованных ssl-тунелей;
  • catdoc – библиотека для работы с форматами MS Office. В частности используется для поиска по документам;
  • xpdf – задачи те же что и пунктом выше, только для PDF;
  • munin и nagios – мониторинг состояния сервера. По умолчанию не используется;
  • sphinx – полнотекстовый поиск. На данный момент наилучшее решение по удобству, качеству и скорости поиска. По умолчанию не используется.

Само собой все это уже настроено на корректную работу друг с другом. Давайте ставить.

Установка «1С-Битрикс: Веб-окружение» на сервер

Качаем скрипт установки – актуальную ссылку на скачивание можно поглядеть на оф. сайте. Запускать надо root’ом и далее подразумевается, что мы находимся в
/root
. Если нет, перейдите выполнив:

В процессе установки будут задаваться уточняющие вопросы.
n
или
N
служат для отказа, любой другой ввод – для соглашения. Т.е. что бы согласится достаточно нажать
Enter
.

# curl -O http://repos.1c-bitrix.ru/yum/bitrix-env.sh

# bash bitrix-env.sh

Если у вас включен SElinux, то первым шагом попросят отключить:

You must disable SElinux before installing the Bitrix Environment.

Do you want disable SELinux?(Y|n)

Соглашаемся и жмем
Enter
для подтверждения. После успешного отключения надо перегрузить сервер:

Change SELinux state to disabled in /etc/selinux/config

Change SELinux state to disabled in /etc/sysconfig/selinux

Please reboot the system! (cmd: reboot)

После перезагрузки заново запускаем скрипт установки.

Запуск установки "1С-Битрикс: Веб-Окружение"

Запуск установки “1С-Битрикс: Веб-Окружение”

Первым будет запушен процесс обновления системы, что бы актуализировать версии установленных пакетов. Т.е. по сути:

Затем будет установлено все необходимое ПО. Процесс установки занимает около 10-15 мин. После установки спросят, хотим ли мы задать пароль root для MySQL. Соглашаемся и устанавливаем:

Do you want to set a password for root user in MySQL service?(Y|n):

Enter root password:

Re-enter root password:

На этом установка завершена, о чем будет выдано соответствующее извещение.
Запускаем скрипт управления средой (после перезагрузки и входа по root’ом этот скрипт будет запускаться автоматически):

При первом запуске нас попросят задать пароль для пользователя
bitrix
.

Первый запуск 1С-Битрикс: Веб окружение

Первый запуск 1С-Битрикс: Веб окружение

Задаем пароль и попадаем в стартовое меню “1С-Битрикс: Веб-окружение”. Установка завершена, переходим к настройке.

Настройка Веб-окружения Битрикс

Меню при первом запуске

Меню при первом запуске

Чем хороши скрипты Веб-окружения, то это тем, что позволяют настроить веб-сервер под 1С-Битрикс, не обладая глубокими знаниями по администрированию Linux. А для тех, кто разбирается, сократить время на рутинные операции по настройке сервера. Теоретически, вам вообще нет необходимости выходить из оболочки веб-окружения, все должно делается ее средствами. На практике, конечно, это не совсем так, но для быстрого запуска веб-сервера, это отличное решение.
Давайте все же немного разберемся с настройками и создадим среду для сайта, куда развернем Битрикс: Управление Сайтом (БУС).
Первым делом нам надо создать Menengment pool (управляемую среду). Для этого выбираем пункт 1 меню (жмем цифру 1 и
Enter
). Запустится мастер который попросит вас ввести FQDN адрес вашего сайта. Вводите имя вашего домена без www, http и т.п. Т.к. я настраиваю в локальной виртуальной среде, у меня это будет mysite.local.

Создаем управляемую среду (Managment pool) в веб-окружении Битрикс.

Создаем управляемую среду (Managment pool) в веб-окружении Битрикс.

После этого в главном меню добавится значительное число пунктов.

Главное меню, после создания пула

Главное меню, после создания пула

Собственно, на этом можно было бы и остановится, если вы перейдете по адресу, который вы задали для среды, то увидите следующее:

Среда создана, можно ставить Битрикс

Среда создана, можно ставить Битрикс

Т.е. вполне можете разворачивать свой Битрикс с нуля или из резервной копии.
Давайте еще немного помучаем меню веб-окружения и посмотрим, чего полезного надо сделать.

Настройка почты

Этот пункт первый, который надо сделать еще до установки самой CMS.
Идем сначала
6. Manage sites in the pool
, затем
4. Change email settings on site
. Затем выбираем сайт, для которого идет настройка, если он у нас один (будет обозначен как default), то просто жмем
Enter
. Затем:

  1. Enter from address (ex. bob@example.org): указываем адрес от имени которого будет происходить рассылка, желательно указывать существующий;
  2. Enter server address or DNS (127.0.0.1): оставляем как указано и жмем
    Enter
    ;
  3. Enter server port (25): то же оставляем как есть;
  4. Do you want to use SMTP authentication on the 127.0.0.1:25? (N|y) – нет, спасибо. Вводим
    n
    ;
  5. Do you need TLS enable for 127.0.0.1:25 (n|Y): то же нет, вводим
    n
    .

Собственно все видно на скриншоте:

Настраиваем почту

Настраиваем почту

В Битрикс, запускаем “Проверку системы” и убеждаемся, что все в порядке:

Почта работает

Почта работает

Надеюсь, вы понимаете, что к отправленной таким образом почте будет крайне мало доверия. Поэтому рекомендую настраивать почту через реальный SMTP сервер с аутентификацией и настроенным DKIM.
И ещё один момент – почтовый лог пишется в
/home/bitrix/msmtp_default.log

Включаем memcached

В главном меню переходим к пункту
4. Configure memcahed servers
. И затем
1. Create memcached server
. Затем вводим имя хоста для которого будет запущен сервис. В нашем случае он у нас один.

Включаем memcached для Битрикс: Веб-окружение

Включаем memcached для Битрикс: Веб-окружение

Собственно все – как видно на скрине, все запущено. Жмем Enter для возврата в предыдущее меню.
После этого не забудьте включить поддержку memcached в Битрикс – как описано в официальной документации.

Включаем sphinx

Аналогично добавим для Битрикс поддержку полнотекстового поиска через sphinx. Выбираем
7. Manage sphinx in the pool
, затем
1. Create sphinx instance on server

Здесь нам надо сначала ввести имя хоста, а затем имя базы данных, с которой будет работать sphinx. На запрос переиндексации соглашайтесь (Битрикс должен быть уже установлен и БД не пустая).

Включаем sphinx

Включаем sphinx

Как всегда с Битрикс, есть особенности. Если модуль “Поиск” меньше версии 17.0.0 то будете получать сообщение “Ошибка подключения к серверу Sphinx: Расширение MySql не установлено”.

Ну и последнее,

Как отключить автоматический запуск меню Веб-окружения при логине

Выходим из меню веб-окружения в консоль сервера (
0. Exit
). И в файле
~/.bash_profile
комментируем последнюю строку, где скрипт меню и вызывается:

export PATH

#bitrix-env

export BITRIX_VA_VER=7.0.1

#menu

#~/menu.sh — вызов меню при старте сесии

Here’s one from my birthday. :)
Is a TS upgrade required to upgrade sphinx to 2.2.11? This is a legacy project that just needs to run for now. Not a lot of development going on right now.

[Mon Feb  5 17:10:05.961 2018] [ 4921] caught SIGHUP (seamless=1, in queue=1)
------- FATAL: CRASH DUMP -------
[Mon Feb  5 17:10:05.961 2018] [ 4921]

--- crashed SphinxAPI request dump ---

--- request dump end ---
Sphinx 2.2.6-id64-release (r4843)
Handling signal 11
-------------- backtrace begins here ---------------
Program compiled with x86_64-linux-gnu-gcc 4.8
Configured with flags:  '--host=x86_64-linux-gnu' '--build=x86_64-linux-gnu' '--prefix=/usr' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--localstatedir=/var/lib/sphinxsearch' '--sysconfdir=/etc/sphinxsearch' '--with-mysql' '--with-pgsql' '--enable-id64' '--with-libstemmer' '--with-re2' '--with-unixodbc' '--with-syslog' 'CFLAGS=-Wall -g -O3' 'LDFLAGS=-Wl,-z,defs  -pthread' 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu'
Host OS is Linux trusty64 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Stack bottom = 0x7fffc04eea8f, thread stack size = 0x100000
Trying manual backtrace:
Something wrong with thread stack, manual backtrace may be incorrect (fp=0xb)
Wrong stack limit or frame pointer, manual backtrace failed (fp=0xb, stack=0x7fffc04f0000, stacksize=0x100000)
Trying system backtrace:
begin of system symbols:
searchd[0x58bba0]
searchd[0x40eddd]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7f8005987340]
searchd[0x438950]
searchd[0x43c1e9]
searchd[0x45afbc]
searchd[0x45c6c6]
searchd[0x408977]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f80040cdec5]
searchd[0x408e15]
-------------- backtrace ends here ---------------
Please, create a bug report in our bug tracker (http://sphinxsearch.com/bugs) and attach there:
a) searchd log, b) searchd binary, c) searchd symbols.
Look into the chapter 'Reporting bugs' in the documentation
(/usr/share/doc/sphinx/sphinx.txt or http://sphinxsearch.com/docs/current.html#reporting-bugs)
--- BT to source lines (depth 10): ---
--- BT to source lines finished ---
--- 3 active threads ---
thd 0, proto sphinxql, state net_idle, command update
thd 1, proto sphinxql, state net_idle, command update
thd 2, proto sphinxql, state net_idle, command update
------- CRASH DUMP END -------

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

1

Проблема после переноса сайта на новый хостинг

08.06.2020, 11:23. Показов 14340. Ответов 17


Студворк — интернет-сервис помощи студентам

Добрый день!
После переноса сайта на новый хостинг возникла следующая проблема, при открытии сайта выходит лог ошибок:

Код

[Error] 
> Call to a member function IsAuthorized() on string (0)
> /home/site.ru/docs/bitrix/modules/sale/general/basket.php:3776
> #0: CAllSaleUser::GetID(boolean)
>  /home/site.ru/docs/bitrix/modules/sale/lib/fuser.php:50
> #1: BitrixSaleFuser::getId()
>  /home/site.ru/docs/local/php_interface/init.php:47
> #2: resetDescription()
>  /home/site.ru/docs/local/php_interface/init.php:61
> #3: checkEmptyDescription()
>  /home/site.ru/docs/bitrix/modules/main/classes/general/module.php:475
> #4: ExecuteModuleEventEx(array)
>  /home/site.ru/docs/bitrix/modules/main/include.php:284
> #5: require_once(string)
>  /home/site.ru/docs/bitrix/modules/main/include/prolog_before.php:14
> #6: require_once(string)
>  /home/site.ru/docs/bitrix/modules/main/include/prolog.php:10
> #7: require_once(string)
>  /home/site.ru/docs/bitrix/header.php:1
> #8: require(string)
>  /home/site.ru/docs/index.php:2

Причем по техническому домену сайт открывается, а также при удалении cookie, но введя в поиск что либо получаем следующий лог:

Код

[BitrixMainDBConnectionException] 
Sphinx connect error: Ошибка подключения (No route to host). (400)
/home/site.ru/docs/bitrix/modules/search/tools/sphinx.php:74
#0: CSearchSphinx->connect(string, string)
	/home/site.ru/docs/bitrix/modules/search/classes/general/full_text.php:25
#1: CSearchFullText::getInstance()
	/home/site.ru/docs/bitrix/modules/search/classes/general/search.php:116
#2: CAllSearch->Search(array, array, array)
	/home/site.ru/docs/bitrix/components/bitrix/search.page/component.php:317
#3: include(string)
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:594
#4: CBitrixComponent->__includeComponent()
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:653
#5: CBitrixComponent->includeComponent(string, array, object)
	/home/site.ru/docs/bitrix/modules/main/classes/general/main.php:1037
#6: CAllMain->IncludeComponent(string, string, array, object)
	/home/site.ru/docs/local/templates/Rina/components/bitrix/catalog.search/main/template.php:35
#7: include(string)
	/home/site.ru/docs/bitrix/modules/main/classes/general/component_template.php:720
#8: CBitrixComponentTemplate->__IncludePHPTemplate(array, array, string)
	/home/site.ru/docs/bitrix/modules/main/classes/general/component_template.php:815
#9: CBitrixComponentTemplate->IncludeTemplate(array)
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:735
#10: CBitrixComponent->showComponentTemplate()
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:683
#11: CBitrixComponent->includeComponentTemplate()
	/home/site.ru/docs/bitrix/components/bitrix/catalog.search/component.php:29
#12: include(string)
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:594
#13: CBitrixComponent->__includeComponent()
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:653
#14: CBitrixComponent->includeComponent(string, array, object)
	/home/site.ru/docs/bitrix/modules/main/classes/general/main.php:1037
#15: CAllMain->IncludeComponent(string, string, array, object)
	/home/site.ru/docs/local/templates/Rina/components/bitrix/catalog/main/search.php:104
#16: include(string)
	/home/site.ru/docs/bitrix/modules/main/classes/general/component_template.php:720
#17: CBitrixComponentTemplate->__IncludePHPTemplate(array, array, string)
	/home/site.ru/docs/bitrix/modules/main/classes/general/component_template.php:815
#18: CBitrixComponentTemplate->IncludeTemplate(array)
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:735
#19: CBitrixComponent->showComponentTemplate()
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:683
#20: CBitrixComponent->includeComponentTemplate(string)
	/home/site.ru/docs/bitrix/components/bitrix/catalog/component.php:171
#21: include(string)
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:594
#22: CBitrixComponent->__includeComponent()
	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:653
#23: CBitrixComponent->includeComponent(string, array, boolean)
	/home/site.ru/docs/bitrix/modules/main/classes/general/main.php:1037
#24: CAllMain->IncludeComponent(string, string, array, boolean)
	/home/site.ru/docs/catalog/index.php:626

Версия PHP 7.2 Хостер nic.ru

0

2217 / 1146 / 229

Регистрация: 16.03.2008

Сообщений: 5,490

Записей в блоге: 2

08.06.2020, 12:29

2

По первой. У вас какая то проблема с глобальными переменными. (Особенно если учесть. что на техническом домене открывается)…. Может где то какие то права на сервере «перекошены».
По второй проблеме смотрите установлен ли и настроен сервер сфинкс.

Разворачивали стандартным мастером Битрикса?

1

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

08.06.2020, 12:32

 [ТС]

3

Да, через файл restore.php

0

2217 / 1146 / 229

Регистрация: 16.03.2008

Сообщений: 5,490

Записей в блоге: 2

08.06.2020, 12:42

4

Лучший ответ Сообщение было отмечено Кверт как решение

Решение

Ну второй вопрос. тут однозначно. Просто настраивайте сфинкс (ну или откажитесь от его использования в админке)

По первому. тут или серверный косяк, или (что вероятнее) у вас какойто код выполняется до инициализации переменной $USER (что является ошибкой). Возможно на техническом открывается — потому, что, например, там какая то проверка на домен еще есть….
Я бы начал с рассмотрения функций
/home/site.ru/docs/local/php_interface/init.php:47 > #2: resetDescription()
/home/site.ru/docs/local/php_interface/init.php:61 > #3: checkEmptyDescription()

Явно там косяк, который надо исправить. (смотреть на $USER->GetId() — сейчас он у вас выполняется слишком рано)

1

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

08.06.2020, 12:50

 [ТС]

5

Хорошо, спасибо, по второму вопросу понял, а может быть проблема в хостинге по первому? потому что до переноса на новый хостинг все работало без проблем и изменений никаких не вносилось? Я так полагаю, что если бы была подобная ошибка, то и на старом хостинге это проявлялось?

0

2217 / 1146 / 229

Регистрация: 16.03.2008

Сообщений: 5,490

Записей в блоге: 2

08.06.2020, 12:58

6

Маловероятно. Просто у вас по каким то причинам эта ошибка не возникала. Баг он ведь такой — может выскочить только при определенных условиях. Тут надо смотреть на код.

Скорее всего у вас checkEmptyDescription выполняется на некоем событии, которое вызывается до инициализации $USER. Т.е. при разработке не учли порядок выполнения страницы. А почему там прокатывало, а тут нет — надо уже смотреть на коды этих двух функций. Какие они условия проверяют. Исходя из их названий в качестве гаданий на кофейной гуще: на старом месте не было необходимости генерировать некое описание. А тут, например, некий генерируемый файл с описанием или пропал или путь к нему сломался или с правами беда…… Например у вас это название зависит от домена. Если домен из спсика — генерируется, не из спсика (технический), то просто остается пустым или дефолтным

0

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

08.06.2020, 13:13

 [ТС]

7

Вот строчки с 47 по 61, может получится что то определить

Код

				$fUserId = BitrixSaleFuser::getId();

				$siteId = BitrixMainApplication::getInstance()->getContext()->getSite();

				$basket = BitrixSaleBasket::loadItemsForFUser($fUserId, $siteId);

				$discounts = BasketRefreshExtraDiscount::getDiscount($basket);

				BasketRefreshExtraCalculator::calculateBasket($basket);

				BasketRefreshExtraDiscount::applyDiscount($basket, $discounts);
			}
		}

		resetDescription();

0

voral

2217 / 1146 / 229

Регистрация: 16.03.2008

Сообщений: 5,490

Записей в блоге: 2

08.06.2020, 13:17

8

Нет не достаточно.

Тут даже важнее понять где эта функция вызывается. Посмотрите поиском по файл init.php checkEmptyDescription может где то встречается, или в списке агентов в админке

Добавлено через 1 минуту
типа такой конструкция может быть в init.php

PHP
1
addEventHandler("main", 'OnBlaBla', 'checkEmptyDescription');

0

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

08.06.2020, 13:20

 [ТС]

9

Код

	global $USER;
	if (($USER->IsAdmin() || ($all == true)) or $USER->GetID() == "18") {
		echo "<pre>";
		print_r($var);
		echo "</pre>";
	}
	if ($die) {
		die;
	}

Да, Вы правы, она вызывается первой, с 8 по 16 строки, то есть желательно переместить ее ниже?

0

2217 / 1146 / 229

Регистрация: 16.03.2008

Сообщений: 5,490

Записей в блоге: 2

08.06.2020, 13:25

10

Тут нет ее вызова

Добавлено через 48 секунд
Если вы про GetID — этот кусок кода внутри какой то функции?

0

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

08.06.2020, 14:06

 [ТС]

11

Код

EventManager::getInstance()->addEventHandler('main', 'OnPageStart', 'checkEmptyDescription');

function checkEmptyDescription()
{

У меня возникло подозрение, что это опять же со сфинксом связано, так как идет поиск по cookie о товарах в корзине, я его отключил, поиск заработал стандартный, сейчас жду ответа от тех, кто не чистил куки и не мог войти на сайт, у меня после чистки cookie вход уже работал, пока не могу это проверить, а по функции нашло такой участок по поиску

Добавлено через 33 минуты
Да, после перехода на стандартный модуль поиска все заработало, Вам в любом случае большое спасибо за помощь

0

voral

2217 / 1146 / 229

Регистрация: 16.03.2008

Сообщений: 5,490

Записей в блоге: 2

02.07.2020, 18:58

12

Смотрите вы привели кусок кода с 47 по 61. Судя по двум закрывающим скобкам этот код выполняется при определенных условиях. В идеале их посмотреть. Среди прочего до этой строки, должно быть подключение модуля sale.

Т.е. примерно такой код

PHP
1
BitrixMainLoader::includeModule('sale')

Это может быть и как условие (или часть оного). т.е. типа

PHP
1
2
3
if (BitrixMainLoader::includeModule('sale')) {
///тут приведенный вами код
}

Если такой строки выше по коду нет — то достаточно большая вероятность, что в этом проблема.

Добавлено через 1 минуту
Да еще там вместо этой строки может быть старый вызов

PHP
1
CModule::IncludeModule('sale')

тоже «годиться»

0

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

02.07.2020, 19:12

 [ТС]

13

Код

// Установит описание расчета в корзине, если оно пустое
EventManager::getInstance()->addEventHandler('main', 'OnPageStart', 'checkEmptyDescription');

function checkEmptyDescription()
{

	if (empty($_SESSION['BASKET_DESCRIPTION'])) {

		if (!function_exists('resetDescription')) {

			function resetDescription()
			{
				Loader::includeModule('sale');

				$fUserId = BitrixSaleFuser::getId();

				$siteId = BitrixMainApplication::getInstance()->getContext()->getSite();

				$basket = BitrixSaleBasket::loadItemsForFUser($fUserId, $siteId);

				$discounts = BasketRefreshExtraDiscount::getDiscount($basket);

				BasketRefreshExtraCalculator::calculateBasket($basket);

				BasketRefreshExtraDiscount::applyDiscount($basket, $discounts);
			}
		}

		resetDescription();

	}
}

Эта часть или что то еще потребуется?

Добавлено через 10 минут

Код

<?

namespace BasketRefreshExtra;

class Description
{
	public static function setDescription($description)
	{
		$_SESSION['BASKET_DESCRIPTION'] = $description;
	}
}

На всякий случай еще description.php выглядит так

0

voral

2217 / 1146 / 229

Регистрация: 16.03.2008

Сообщений: 5,490

Записей в блоге: 2

02.07.2020, 19:35

14

Лучший ответ Сообщение было отмечено Кверт как решение

Решение

Я бы сделал так (если не вдаваться в правильность самой логики). Изменил событие на OnBeforeProlog

PHP
1
EventManager::getInstance()->addEventHandler('main', 'OnBeforeProlog', 'checkEmptyDescription');

А вообще у вас есть класс BasketRefreshExtraDiscount в нем идет работа с этой переменной сессии, и в коде вы работаете с ней, уж лучше тогда все это оформить в рамках этого класса. (но это уже лирика)

0

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

02.07.2020, 20:09

 [ТС]

15

Хорошо, спасибо, попробую, отпишусь тогда по результатам, как и говорил проблема локальная, я данную ошибку у себя вызвать не смог пока, но у многих пользователей она присутствует, как получу обратную связь, смогу ответить, помогло или нет

0

2217 / 1146 / 229

Регистрация: 16.03.2008

Сообщений: 5,490

Записей в блоге: 2

02.07.2020, 20:14

16

В режиме инкогнито потестируйте — у вас гарантировано должна быть «чистая» сессия. Так же возможно это на какой то конкретной странице или ситуации. Предположим на прочих страницах срабатывает некоторое событие раньше (точнее обработчик), которое «решает» эту проблему

Добавлено через 1 минуту
Так же, может быть вариант — у вас где то есть еще одна функция resetDescription — с иным кодом. Где то она раньше подключается, а где то в эту код влетает.

0

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

02.07.2020, 20:23

 [ТС]

17

В режиме инкогнито пробовал, у пользователей по метрике тоже все открывается, данная проблема возникает у активных авторизованных пользователей, наверно связано с дисконтом или еще какими то функциями, надеюсь данное решение поможет, в любом случае отпишусь по результатам. В режиме инкогнито еще раз протестировал, тоже все работает.

0

14 / 12 / 2

Регистрация: 04.05.2017

Сообщений: 100

03.07.2020, 16:38

 [ТС]

18

Пользователи, у которых возникала данная проблема, смогли зайти. Пока только часть опросили, но вроде все работает и открывается. В любом случае данное решение помогло. Большое спасибо за помощь

0

Что такое Sphinx?

Sphinx (англ. SQL Phrase Index) — система полнотекстового поиска, разработанная Андреем Аксеновым и распространяемая по лицензии GNU GPL. Отличительной особенностью этого поискового движка является высокая скорость индексации и поиска, возможность использовать морфологический и полнотекстовый поиск.

SphinxSE уже обрел популярность среди разработчиков: именно с его помощью осуществляется поиск на популярном Хабрахабре, проекте Викимапия, сайтах популярного книжного интернет-магазина Буквоед и «Санкт-Петербургского Дома Книги», BitTorrent-трекере The Pirate Bay (небезызвестная «Пиратская бухта») и других высоконагруженных проектах.

Полнотекстовый поиск Sphinx доступен в продуктах «1С-Битрикс» с версии 14.0.0. Он позволяет сделать быстрым и качественным поиск на вашем сайте, снизить нагрузку на сервер, а также он полностью интегрирован с компонентами модуля Поиск.

Внимание!

Начиная с версии Sphinx 2.2.1 опция charset_type объявлена как устаревшая:

In 2.2.1-beta version we decided to start removing some old features. All of them was ‘unofficially’ deprecated for some time. And we’re informing you now about it. charset_type=sbcs is now deprecated, we’re slowly switching to UTF-only. Even if your database is SBCS (likely for legacy reasons too, eh?), this should be absolutely trivial to workaround, just add a pre-query to fetch your data in UTF-8 and you’re all set. Also, in fact, our current UTF-8 tokenizer is even faster than the SBCS one.

Несмотря на то, что в документации к модулю «Поиск» начиная с версии v16.5.0 заявляется о поддержке Sphinx 2.2.10 — она работает исключительно для сайтов в кодировке UTF-8.

Настройка Sphinx

Для настройки необходимо зайти в административную панель сайта, затем перейти в меню «Настройки» -> «Настройки продукта» -> «Настройки модулей» -> «Поиск».

настройка поиска sphinx в bitrix

Затем перейти во вкладку «Морфология» и в выпадающем списке меню «Полнотекстовый поиск с помощью» выбрать «Sphinx».

настройка поиска sphinx в bitrix

Для своей работы Bitrix использует RT индексы, то есть, фактически, запись осуществляется в два места одновременно — в базу данных и сервер полнотекстового поиска Sphinx, при этом сам Indexer (программа индексации из набора Sphinx) не обновляет индексы. Этот подход позволяет всегда осуществлять поиск по актуальной информации.

Далее необходимо скопировать конфигурационный файл, представленный на странице настройки:

#sphinx.conf
index bitrix
{
	#main settings
	type = rt
	path = /var/lib/sphinxsearch/data/bitrix
	docinfo = inline
	#choose appropriate type of morphology to use
	#morphology = lemmatize_ru_all, lemmatize_en_all, lemmatize_de_all, stem_enru
	morphology = stem_enru, soundex
	#these settings are used by bitrix:search.title component
	dict = keywords
	prefix_fields = title
	infix_fields=
	min_prefix_len = 2
	enable_star = 1
	#all fields must be defined exactly as followed
	rt_field = title
	rt_field = body
	rt_attr_uint = module_id
	rt_attr_string = module
	rt_attr_uint = item_id
	rt_attr_string = item
	rt_attr_uint = param1_id
	rt_attr_string = param1
	rt_attr_uint = param2_id
	rt_attr_string = param2
	rt_attr_timestamp = date_change
	rt_attr_timestamp = date_to
	rt_attr_timestamp = date_from
	rt_attr_uint = custom_rank
	rt_attr_multi = tags
	rt_attr_multi = right
	rt_attr_multi = site
	rt_attr_multi = param
	#depends on settings of your site
	# uncomment for single byte character set
	charset_type = sbcs
	# uncomment for UTF character set
	#charset_type = utf-8
}

удалив из него строку «infix_fields=». Затем нажать «Применить» сохранив настройки.
На этом первая часть настройки CMS Bitrix для работы с сервером полнотекстового поиска закончена, далее необходимо настроить сам сервер.

Настройка параметров Sphinx происходит в панели управления хостингом — для этого нужно зайти в раздел «Сервисы» -> «Sphinx» или перейти по ссылке https://cp.beget.com/cloudservices/sphinx/. Выбираем необходимый тариф и включаем демон полнотекстового поиска:

включение sphinx в панели управления cp.beget.com

Далее переходим на вкладку «Индексация» -> «Редактор конфигурации», вставляем скопированное ранее содержимое конфигурационного файла (с удалением строки «infix_fields=»), и нажимаем «Сохранить»:

включение sphinx в панели управления cp.beget.com

Переходим на вкладку «Поисковый сервер» и включаем его.

включение sphinx на хостинге beget.com

Так как используются индексы реального времени, необходимо полностью проиндексировать сайт, для этого снова переходим во вкладку «Морфология» панели управления сайтом, в выпадающем списке меню «Полнотекстовый поиск с помощью» выбираем «Sphinx» и нажимаем «Применить».

После применения изменений появится сообщение о необходимости полностью проиндексировать сайт, нажимаем на «Переиндексировать сайт»:

включение sphinx на хостинге beget.com

Попав на страницу индексации снимаем галочку «Проиндексировать только измененные» и нажимаем «Переиндексировать»:

включение sphinx на хостинге beget.com

Настройка полнотекстового поиска закончена! Проверить работу поиска можно на Вашем сайте.

Если при установке или настройке возникли проблемы, Вы можете обратиться в нашу техническую поддержку — мы с радостью поможем и ответим на все Ваши вопросы.

  • Маркетплейс
  • Документация
  • Блог
  • Новости
  • Софт
  • Профиль
  • 08.12.2021

    Для поиска в проектах построенных на 1C-Битрикс для поиска можно использовать внешнюю систему полнотекстового поиска Sphinx. Она быстро работает и имеет возможности гибкой конфигурации.

    Одна из таких функций — словоформы (wordforms). Словоформы позволяют поиску выдавать одни и те же результаты не зависимо от того какую словоформу пользователь ввел. Например, можно настроить, чтобы слова «жигуль», «лада» и «ваз» приводили к одним и тем же результатам.

    И вот тут у многих, судя по вопросам без ответов на просторах интернета, начинаются проблемы. Эти словоформы «не работают». Думаю эта статья поможет решить данную проблему. Я привожу три момента на которые стоит обратить внимание

    Как правило, конфигурирование Sphinx начинают c конфига предлагаемого в админке Битрикс и среди прочего в том конфиге есть следующая строка

    morphology = stem_enru, soundex

    Для настройки словоформ необходимо в этот конфиг добавить подключение файла.

    wordforms = /etc/sphinxsearch/wordforms.txt

    Название и расположение файла вы можете выбрать самостоятельно — я разместил в каталоге где размещается конфиг файл системы поиска. Так же необходимо предоставить права пользователю от которого работает поиск.

    Первый момент

    По умолчанию на Debian это «sphinxsearch» на CentOS «sphinx»

    soundex — подключает фонетический алгоритм при разборе фразы. Т.е. например слова «hummer» и «hamer» фонетически звучат одинаково и будут этим алгоритмом приведены к единому значению. И вот на этом этапе возникает первая проблема со словоформами.

    Добавляем в словоформы (в файл wordforms.txt) форму слова в ожидании, что она будет приводить к тому же результату

    хаммер => hummer

    Однако это правило не сработает. Все дело в том, что слово hummer преобразуется фонетическим алгоритмом. Для проверки этого подключимся из консоли к Sphinx

    mysql -h 127.0.0.1 -P 9306

    И в открывшейся SQL консоли введем команду

            call keywords('hummer hamer хаммер','bitrix',1);
        

    В команде первый параметр — анализируемая строка, второй: имя индекса как в конфиге, третий (не обязательный) включает вывод двух колонок статистики. В результате этой команды мы получим следующий вывод:

    +------+--------------+--------------+------+------+
    | qpos | tokenized    | normalized   | docs | hits |
    +------+--------------+--------------+------+------+
    | 1    | hummer       | h560         | 0    | 0    |
    | 2    | hamer        | h560         | 0    | 0    |
    | 3    | хаммер       | hummer       | 0    | 0    |
    +------+--------------+--------------+------+------+
        

    Как видим «hummer» и «hamer» были нормализованы к одному значению и оба слова будут приводить к одному результату поиска, ровно тому, который мы и ожидаем, а вот «хаммер» нормализовался к «hummer» — и уже не будет сопоставлен с теми же результатами. Т.к. «реальный» hummer нормализовался к другому значению.

    Так происходит в результате последовательности обработки фраз. Для исправления ситуации необходимо дополнить wordforms.txt

    хаммер => hummer
    hummer => hummer

    Теперь результат команды call keywords выглядит так

    +------+--------------+------------+------+------+
    | qpos | tokenized    | normalized | docs | hits |
    +------+--------------+------------+------+------+
    | 1    | hummer       | hummer     | 0    | 0    |
    | 2    | hamer        | h560       | 0    | 0    |
    | 3    | хаммер       | hummer     | 0    | 0    |
    +------+--------------+------------+------+------+
    

    Как видим осталась проблема со словом «hamer». Для ее решения есть два варианта. Первый это по примеру «хаммер» добавить прямое соответствие, но тогда придется добавлять строчки для каждой формы, которая нам подошла с точки зрения морфологии. Чтобы этого не делать есть второй путь: добавить в начале строки знак тильду — это отменит необходимость перечислять все морфологические формы.

    хаммер => hummer
    ~hummer => hummer

    Вот теперь все будет связано воедино и все три слова, введенные в строку запроса, будут приводить к одному и тому же результату.

    +------+--------------+------------+------+------+
    | qpos | tokenized    | normalized | docs | hits |
    +------+--------------+------------+------+------+
    | 1    | hummer       | hummer     | 0    | 0    |
    | 2    | hamer        | hummer     | 0    | 0    |
    | 3    | хаммер       | hummer     | 0    | 0    |
    +------+--------------+------------+------+------+
    

    Как вывод из всего этого: прежде чем добавлять очередную форму посмотрите на то как анализирует Sphinx эту форму и основное слово командой call keywords

    Второй момент

    Sphinx работает с кодировкой UTF-8. Соответственно и файл wordforms.txt должен быть в этой кодировке.

    Третий момент

    Для того, чтобы вносимые изменения вступали в силу необходимо не только перезапустить Sphinx. Необходимо остановить службу, удалить файлы индексов. Путь к ним указан в конфигурационном файле системы поиска, а разделе настройки того индекса, с котором работаете в параметре path

    Все записи

    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    1

    Проблема после переноса сайта на новый хостинг

    08.06.2020, 11:23. Показов 15103. Ответов 17


    Студворк — интернет-сервис помощи студентам

    Добрый день!
    После переноса сайта на новый хостинг возникла следующая проблема, при открытии сайта выходит лог ошибок:

    Код

    [Error] 
    > Call to a member function IsAuthorized() on string (0)
    > /home/site.ru/docs/bitrix/modules/sale/general/basket.php:3776
    > #0: CAllSaleUser::GetID(boolean)
    >  /home/site.ru/docs/bitrix/modules/sale/lib/fuser.php:50
    > #1: Bitrix\Sale\Fuser::getId()
    >  /home/site.ru/docs/local/php_interface/init.php:47
    > #2: resetDescription()
    >  /home/site.ru/docs/local/php_interface/init.php:61
    > #3: checkEmptyDescription()
    >  /home/site.ru/docs/bitrix/modules/main/classes/general/module.php:475
    > #4: ExecuteModuleEventEx(array)
    >  /home/site.ru/docs/bitrix/modules/main/include.php:284
    > #5: require_once(string)
    >  /home/site.ru/docs/bitrix/modules/main/include/prolog_before.php:14
    > #6: require_once(string)
    >  /home/site.ru/docs/bitrix/modules/main/include/prolog.php:10
    > #7: require_once(string)
    >  /home/site.ru/docs/bitrix/header.php:1
    > #8: require(string)
    >  /home/site.ru/docs/index.php:2

    Причем по техническому домену сайт открывается, а также при удалении cookie, но введя в поиск что либо получаем следующий лог:

    Код

    [Bitrix\Main\DB\ConnectionException] 
    Sphinx connect error: Ошибка подключения (No route to host). (400)
    /home/site.ru/docs/bitrix/modules/search/tools/sphinx.php:74
    #0: CSearchSphinx->connect(string, string)
    	/home/site.ru/docs/bitrix/modules/search/classes/general/full_text.php:25
    #1: CSearchFullText::getInstance()
    	/home/site.ru/docs/bitrix/modules/search/classes/general/search.php:116
    #2: CAllSearch->Search(array, array, array)
    	/home/site.ru/docs/bitrix/components/bitrix/search.page/component.php:317
    #3: include(string)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:594
    #4: CBitrixComponent->__includeComponent()
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:653
    #5: CBitrixComponent->includeComponent(string, array, object)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/main.php:1037
    #6: CAllMain->IncludeComponent(string, string, array, object)
    	/home/site.ru/docs/local/templates/Rina/components/bitrix/catalog.search/main/template.php:35
    #7: include(string)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component_template.php:720
    #8: CBitrixComponentTemplate->__IncludePHPTemplate(array, array, string)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component_template.php:815
    #9: CBitrixComponentTemplate->IncludeTemplate(array)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:735
    #10: CBitrixComponent->showComponentTemplate()
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:683
    #11: CBitrixComponent->includeComponentTemplate()
    	/home/site.ru/docs/bitrix/components/bitrix/catalog.search/component.php:29
    #12: include(string)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:594
    #13: CBitrixComponent->__includeComponent()
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:653
    #14: CBitrixComponent->includeComponent(string, array, object)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/main.php:1037
    #15: CAllMain->IncludeComponent(string, string, array, object)
    	/home/site.ru/docs/local/templates/Rina/components/bitrix/catalog/main/search.php:104
    #16: include(string)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component_template.php:720
    #17: CBitrixComponentTemplate->__IncludePHPTemplate(array, array, string)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component_template.php:815
    #18: CBitrixComponentTemplate->IncludeTemplate(array)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:735
    #19: CBitrixComponent->showComponentTemplate()
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:683
    #20: CBitrixComponent->includeComponentTemplate(string)
    	/home/site.ru/docs/bitrix/components/bitrix/catalog/component.php:171
    #21: include(string)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:594
    #22: CBitrixComponent->__includeComponent()
    	/home/site.ru/docs/bitrix/modules/main/classes/general/component.php:653
    #23: CBitrixComponent->includeComponent(string, array, boolean)
    	/home/site.ru/docs/bitrix/modules/main/classes/general/main.php:1037
    #24: CAllMain->IncludeComponent(string, string, array, boolean)
    	/home/site.ru/docs/catalog/index.php:626

    Версия PHP 7.2 Хостер nic.ru



    0



    2255 / 1165 / 233

    Регистрация: 16.03.2008

    Сообщений: 5,594

    Записей в блоге: 2

    08.06.2020, 12:29

    2

    По первой. У вас какая то проблема с глобальными переменными. (Особенно если учесть. что на техническом домене открывается)…. Может где то какие то права на сервере «перекошены».
    По второй проблеме смотрите установлен ли и настроен сервер сфинкс.

    Разворачивали стандартным мастером Битрикса?



    1



    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    08.06.2020, 12:32

     [ТС]

    3

    Да, через файл restore.php



    0



    2255 / 1165 / 233

    Регистрация: 16.03.2008

    Сообщений: 5,594

    Записей в блоге: 2

    08.06.2020, 12:42

    4

    Лучший ответ Сообщение было отмечено Кверт как решение

    Решение

    Ну второй вопрос. тут однозначно. Просто настраивайте сфинкс (ну или откажитесь от его использования в админке)

    По первому. тут или серверный косяк, или (что вероятнее) у вас какойто код выполняется до инициализации переменной $USER (что является ошибкой). Возможно на техническом открывается — потому, что, например, там какая то проверка на домен еще есть….
    Я бы начал с рассмотрения функций
    /home/site.ru/docs/local/php_interface/init.php:47 > #2: resetDescription()
    /home/site.ru/docs/local/php_interface/init.php:61 > #3: checkEmptyDescription()

    Явно там косяк, который надо исправить. (смотреть на $USER->GetId() — сейчас он у вас выполняется слишком рано)



    1



    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    08.06.2020, 12:50

     [ТС]

    5

    Хорошо, спасибо, по второму вопросу понял, а может быть проблема в хостинге по первому? потому что до переноса на новый хостинг все работало без проблем и изменений никаких не вносилось? Я так полагаю, что если бы была подобная ошибка, то и на старом хостинге это проявлялось?



    0



    2255 / 1165 / 233

    Регистрация: 16.03.2008

    Сообщений: 5,594

    Записей в блоге: 2

    08.06.2020, 12:58

    6

    Маловероятно. Просто у вас по каким то причинам эта ошибка не возникала. Баг он ведь такой — может выскочить только при определенных условиях. Тут надо смотреть на код.

    Скорее всего у вас checkEmptyDescription выполняется на некоем событии, которое вызывается до инициализации $USER. Т.е. при разработке не учли порядок выполнения страницы. А почему там прокатывало, а тут нет — надо уже смотреть на коды этих двух функций. Какие они условия проверяют. Исходя из их названий в качестве гаданий на кофейной гуще: на старом месте не было необходимости генерировать некое описание. А тут, например, некий генерируемый файл с описанием или пропал или путь к нему сломался или с правами беда…… Например у вас это название зависит от домена. Если домен из спсика — генерируется, не из спсика (технический), то просто остается пустым или дефолтным



    0



    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    08.06.2020, 13:13

     [ТС]

    7

    Вот строчки с 47 по 61, может получится что то определить

    Код

    				$fUserId = \Bitrix\Sale\Fuser::getId();
    
    				$siteId = \Bitrix\Main\Application::getInstance()->getContext()->getSite();
    
    				$basket = \Bitrix\Sale\Basket::loadItemsForFUser($fUserId, $siteId);
    
    				$discounts = \BasketRefreshExtra\Discount::getDiscount($basket);
    
    				\BasketRefreshExtra\Calculator::calculateBasket($basket);
    
    				\BasketRefreshExtra\Discount::applyDiscount($basket, $discounts);
    			}
    		}
    
    		resetDescription();



    0



    voral

    2255 / 1165 / 233

    Регистрация: 16.03.2008

    Сообщений: 5,594

    Записей в блоге: 2

    08.06.2020, 13:17

    8

    Нет не достаточно.

    Тут даже важнее понять где эта функция вызывается. Посмотрите поиском по файл init.php checkEmptyDescription может где то встречается, или в списке агентов в админке

    Добавлено через 1 минуту
    типа такой конструкция может быть в init.php

    PHP
    1
    
    addEventHandler("main", 'OnBlaBla', 'checkEmptyDescription');



    0



    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    08.06.2020, 13:20

     [ТС]

    9

    Код

    	global $USER;
    	if (($USER->IsAdmin() || ($all == true)) or $USER->GetID() == "18") {
    		echo "<pre>";
    		print_r($var);
    		echo "</pre>";
    	}
    	if ($die) {
    		die;
    	}

    Да, Вы правы, она вызывается первой, с 8 по 16 строки, то есть желательно переместить ее ниже?



    0



    2255 / 1165 / 233

    Регистрация: 16.03.2008

    Сообщений: 5,594

    Записей в блоге: 2

    08.06.2020, 13:25

    10

    Тут нет ее вызова

    Добавлено через 48 секунд
    Если вы про GetID — этот кусок кода внутри какой то функции?



    0



    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    08.06.2020, 14:06

     [ТС]

    11

    Код

    EventManager::getInstance()->addEventHandler('main', 'OnPageStart', 'checkEmptyDescription');
    
    function checkEmptyDescription()
    {

    У меня возникло подозрение, что это опять же со сфинксом связано, так как идет поиск по cookie о товарах в корзине, я его отключил, поиск заработал стандартный, сейчас жду ответа от тех, кто не чистил куки и не мог войти на сайт, у меня после чистки cookie вход уже работал, пока не могу это проверить, а по функции нашло такой участок по поиску

    Добавлено через 33 минуты
    Да, после перехода на стандартный модуль поиска все заработало, Вам в любом случае большое спасибо за помощь



    0



    voral

    2255 / 1165 / 233

    Регистрация: 16.03.2008

    Сообщений: 5,594

    Записей в блоге: 2

    02.07.2020, 18:58

    12

    Смотрите вы привели кусок кода с 47 по 61. Судя по двум закрывающим скобкам этот код выполняется при определенных условиях. В идеале их посмотреть. Среди прочего до этой строки, должно быть подключение модуля sale.

    Т.е. примерно такой код

    PHP
    1
    
    \Bitrix\Main\Loader::includeModule('sale')

    Это может быть и как условие (или часть оного). т.е. типа

    PHP
    1
    2
    3
    
    if (\Bitrix\Main\Loader::includeModule('sale')) {
    ///тут приведенный вами код
    }

    Если такой строки выше по коду нет — то достаточно большая вероятность, что в этом проблема.

    Добавлено через 1 минуту
    Да еще там вместо этой строки может быть старый вызов

    PHP
    1
    
    CModule::IncludeModule('sale')

    тоже «годиться»



    0



    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    02.07.2020, 19:12

     [ТС]

    13

    Код

    // Установит описание расчета в корзине, если оно пустое
    EventManager::getInstance()->addEventHandler('main', 'OnPageStart', 'checkEmptyDescription');
    
    function checkEmptyDescription()
    {
    
    	if (empty($_SESSION['BASKET_DESCRIPTION'])) {
    
    		if (!function_exists('resetDescription')) {
    
    			function resetDescription()
    			{
    				Loader::includeModule('sale');
    
    				$fUserId = \Bitrix\Sale\Fuser::getId();
    
    				$siteId = \Bitrix\Main\Application::getInstance()->getContext()->getSite();
    
    				$basket = \Bitrix\Sale\Basket::loadItemsForFUser($fUserId, $siteId);
    
    				$discounts = \BasketRefreshExtra\Discount::getDiscount($basket);
    
    				\BasketRefreshExtra\Calculator::calculateBasket($basket);
    
    				\BasketRefreshExtra\Discount::applyDiscount($basket, $discounts);
    			}
    		}
    
    		resetDescription();
    
    	}
    }

    Эта часть или что то еще потребуется?

    Добавлено через 10 минут

    Код

    <?
    
    namespace BasketRefreshExtra;
    
    class Description
    {
    	public static function setDescription($description)
    	{
    		$_SESSION['BASKET_DESCRIPTION'] = $description;
    	}
    }

    На всякий случай еще description.php выглядит так



    0



    voral

    2255 / 1165 / 233

    Регистрация: 16.03.2008

    Сообщений: 5,594

    Записей в блоге: 2

    02.07.2020, 19:35

    14

    Лучший ответ Сообщение было отмечено Кверт как решение

    Решение

    Я бы сделал так (если не вдаваться в правильность самой логики). Изменил событие на OnBeforeProlog

    PHP
    1
    
    EventManager::getInstance()->addEventHandler('main', 'OnBeforeProlog', 'checkEmptyDescription');

    А вообще у вас есть класс \BasketRefreshExtra\Discount в нем идет работа с этой переменной сессии, и в коде вы работаете с ней, уж лучше тогда все это оформить в рамках этого класса. (но это уже лирика)



    0



    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    02.07.2020, 20:09

     [ТС]

    15

    Хорошо, спасибо, попробую, отпишусь тогда по результатам, как и говорил проблема локальная, я данную ошибку у себя вызвать не смог пока, но у многих пользователей она присутствует, как получу обратную связь, смогу ответить, помогло или нет



    0



    2255 / 1165 / 233

    Регистрация: 16.03.2008

    Сообщений: 5,594

    Записей в блоге: 2

    02.07.2020, 20:14

    16

    В режиме инкогнито потестируйте — у вас гарантировано должна быть «чистая» сессия. Так же возможно это на какой то конкретной странице или ситуации. Предположим на прочих страницах срабатывает некоторое событие раньше (точнее обработчик), которое «решает» эту проблему

    Добавлено через 1 минуту
    Так же, может быть вариант — у вас где то есть еще одна функция resetDescription — с иным кодом. Где то она раньше подключается, а где то в эту код влетает.



    0



    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    02.07.2020, 20:23

     [ТС]

    17

    В режиме инкогнито пробовал, у пользователей по метрике тоже все открывается, данная проблема возникает у активных авторизованных пользователей, наверно связано с дисконтом или еще какими то функциями, надеюсь данное решение поможет, в любом случае отпишусь по результатам. В режиме инкогнито еще раз протестировал, тоже все работает.



    0



    14 / 12 / 2

    Регистрация: 04.05.2017

    Сообщений: 101

    03.07.2020, 16:38

     [ТС]

    18

    Пользователи, у которых возникала данная проблема, смогли зайти. Пока только часть опросили, но вроде все работает и открывается. В любом случае данное решение помогло. Большое спасибо за помощь



    0



    Понравилась статья? Поделить с друзьями:
  • Ошибка подключения к серверу smtp 110
  • Ошибка планар 3кв 3 раза моргает красным
  • Ошибка печати 1722 0x000006ba сервер rpc недоступен 1c
  • Ошибка пневмы на туареге
  • Ошибка подключения к серверу sedo fss ru