SubGANs, спасибо, буду пробовать. В целом есть опыт настройки кеша в предыдущих версиях, и понимания как он работает. Просто удивило что он сейчас по умолчанию отключен, а в 8.0 и вовсе удален.
Всем спасибо, раз с данными ничего не случится, буду тестировать.
Спасибо, почитал. Ограничения все известные. В статье говорится что надо делать индексы, оптимизировать запросы, ставить что-то типа ProxySQL.
А теперь вопрос: если индексы есть, запросы вылизывались не один месяц. Все уже оптимизировано достаточно хорошо - что дальше, только ProxySQL?
Если я для пробы включу query_cache_type, БД не будет повреждена от этого? Т.е. вопрос только в том, что кеш может работать просто не оптимально и все или есть какая то опасность для данных?
Начал проходить по списку функций. На данный момент дошел до explode. Немного застрял на нем. В мануале ничего на unicode нет по нему. Я так понял, он работает с UTF-8? Делал тесты с кириллической строкой, и с кириллическим разделителем - все ок. Конец строки "\r\n" для разбиения заголовков писем UTF-8 вроде так же без проблем проходит.
Есть известные подводные камни с explode при UTF-8?
php666, да, боязливо. Во-первых, никогда такого не делал. В-нулевых, переносить надо движок работающего интернет-магазина. И времени мало. Конечно, сперва обкатаю все на локалхосте. Но все заранее не протестишь.
Перекодировать файлы и базу - самое очевидное и простое. Вопрос больше по коду PHP.
При чем тут mb_* ? Очевидно, что в любом движке будут функции работы со строками. Тот же strlen возвращает не количество символов, а количество байт в строке. Теперь надо не просто заменять strlen на mb_strlen, а вручную просматривать каждый случай его использования, чтобы разобраться что в каждом конкретном случае нам надо: количество символов в строке, или же количество байт (например, для формирования заголовка). И разобраться со всеми другими строковыми функциями. При том, что на некоторые из них нет mb_ аналога.
Я уже молчу про более тонкие нюансы, типа модификатора u для preg_replace или невозможности получить доступ к символу строки через $str[0] или $str{0}.
Именно совокупность всех таких чекпоинтов и интересует.
Спасибо большое за ссылку. Самое толковое из того что видел. Хоть и 2012 года.
Настораживает "Не работает доступ к символу в строке: $srt[0]" - это теперь весь код надо перепроверить на квадратные скобки? Неделя рутины из-за такой чепухи. Вот только вообще не пойму, почему автор советует использовать для этого mb_strcut, разве не mb_substr нужно?
neol, спасибо! Жесть, и вот как узнать все эти подводные камни? Неужели нет никакого чек-листа по подобному делу? Ведь раньше Win-1251 была очень распространенной кодировкой для русскоязычных сайтов.
Ну так там только список объявляемых в файле пользовательских функций. А мне надо список пользовательских функций, которые используются (вызываются) в файле или выделенном фрагменте кода.
Повторюсь, хочу делать как принято, чтобы у пользователей возникало как меньше вопросов. Привычный, знакомый механизм.