Yii2Украинские буквы в Sphinx

Проблема: Если вы используете Sphinx для для поиска на украинском или русском языке, то у вас могут возникнуть трудности с поиском слов содержащих буквы ї, і, є, ґ, ё и т.д. В результатах поиска слово «місто», к примеру, будет разбито на «м» и «сто».

Решение: Для полноценного поиска на украинском языке необходимо настроить таблицу символов charset_table в конфиге sphinx ( /etc/sphinxsearch/sphinx.conf) следующим образом:

index indexName
{    
    # Ukrainian chars
    charset_table = 0..9, _, A..Z->a..z, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+404->U+454, U+454, U+406->U+456, U+456, U+407->U+457, U+457, U+490->U+491, U+491, U+401->U+435, U+451->U+435, U+002D
    ignore_chars = U+0021..U+002C, U+002E, U+002F, U+003A..U+0040, U+0060, U+2019, U+00AB, U+00BB
    morphology = stem_enru
}
Читать далее...

WebDevVagrant задержки, медленная работа

Столкнулся с медленной загрузкой страниц (точнее задержками TTFB в 10-30 сек) при использовании Vagrant. Настройки классические: LAMP (Ubuntu 16, Apache, MySQL 5.7, PHP 5.6), проект на Yii2, файлы расшарены через NFS.

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

vagrant nfs slow

Решение 1: Проблема связана с низкой скоростью дисковой подсистемы на виртуалке при работе с файлами через NFS, а также c некоторыми нюансами монтирования. И решается добавлением следующей опции в Vagrantfile:

Читать далее...

WebDevОсновы Vargrant, пример использования

Vagrant — это менеджер ваших виртуальных окружений для разработки, надсройка (Command Line Interface) над системами виртуализаци VirtualBox (VMWare, LXC и т.д), которая обеспечивает быстрое создание и настройку виртуальных машин.

vagrant

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

Vagrant полностью зависит от программы виртуализации, например VirtualBox. Для развертывания и настройки виртуальных окружений Vagrant использует технологии виртуализации и технологии автоматицированного развертывания приложений от Chef и Puppet.

Читать далее...

WebDevVargrant что это?

Vagrant – is a tool for building and distributing development environments. Он предназначенный для автоматической инициализации виртуальных машин (VirtualBox, VMWare и пр.). Vagrant полностью автоматизирует создание и настройку виртуальной машины, так как бы мы это делали вручную.

С помощью специального конфигурационного файла Vagrant задает различные настройки для виртуальной машины (название, тип, версию ОС, объем памяти, размер виртуального диска, настраивает общие папки, сетевые интерфейсы и т.д.), а также устанавливает основную операционную систему по выбору пользователя.

Читать далее...

WebDevPuPHPet что это?

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

PuPHPet

На выходе PuPHPet генерирует для пользователя конфигурационные файлы Vagrantfile и Puppet. Затем нужно лишь запустить команду vagrant up, и все заработает.

Vagrant и VirtualBox должны быть предварительно установлены. В основе работы — готовя конгфигурация Puppet (YAML-файл), посредством которого пользователь указывает какое программное обеспечение необходимо установить, какие команды выполнить, какие параметры настроить и т. д.

Читать далее...