удалите устаревший параметр mbstring func overload

Ошибка: Удалите настройку PHP mbstring.func_overload

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

При обновлении коробочной версии Битрикс24 вы можете получить уведомление: Для обновления продукта необходимо удалить настройку PHP mbstring.func_overload. Пожалуйста, внесите необходимые изменения или обратитесь в службу технической поддержки вашего хостинга.

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

Что это значит

Функционал mbstring.func_overload объявлен устаревшим, начиная с PHP 7.2.0, и его использование крайне не рекомендовано.

В связи с этим в продуктах «1С-Битрикс» прекращается поддержка данного параметра PHP. Вы не сможете установить обновления продукта, пока вы не удалите этот параметр в конфигурации PHP вашего сервера.

Что делать

Перейдите в административном меню в раздел Настройки → Инструменты → Диагностика → Настройки PHP:

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

В открывшем окне найдите в настройках PHP параметр mbstring.func_overload :

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

Если его значение не равно 0, то вам нужно удалить этот параметр в конфигурации PHP сервера или выставить равным 0 ( mbstring.func_overload=0 ).

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

То же самое можно сделать и вручную в VMBitrix:

Источник

Изменение mbstring.func_overload и internal_encoding

Наши клиенты, установив одну из популярных систем управления сайтом, сталкивались с тем, что данная CMS требовала изменить стандартные настройки параметров PHP mbstring.func_overload и mbstring.internal_encoding.

В частности, система требует прописать настройки:

Почему не меняются mbstring.func_overload и internal_encoding?

Как изменить mbstring.func_overload и internal_encoding?

Изменить настройки mbstring.func_overload и mbstring.internal_encoding в современных конфигурациях можно несколькими способами, но до этого потребуется определиться с тем, какой услугой Вы пользуетесь (хостинг с php, VDS или сервер) и режимом работы php.

Если с первым вопросом проблем не возникнет, то с режимом php несколько сложнее. Узнать о режиме работы можно из функции phpinfo, найдя строку: «Server API», где может быть указано «Apache … Handler» или иное. Значение «Apache … Handler» укажет нам на то, что PHP работает в режиме mod_php, иное значение укажет на режим CGI или аналогичный.

Изменение настроек для режима mod_php

Изменение mbstring.func_overload и mbstring.internal_encoding в режиме модуля Apache на хостинге с PHP можно выполнить, только обратившись в техническую поддержку хостинга.

При использовании своего сервера (VPS/VDS или контейнера) достаточно будет внести изменения в настройки файла httpd.conf в секцию VirtualHost сайта, для которого вносятся изменения, где указать:

Изменение настроек для PHP в иных режимах

Изменить mbstring.func_overload и mbstring.internal_encoding в иных режимах, таких как: CGI, FastCGI и т.д., доступно, как на обычном хостинге, так и на собственном VDS или сервере.

В этом режиме изменение можно произвести простой модификацией пользовательского файла php.ini, где следует указать:

Универсальный метод изменения настроек

Мы сталкивались с конфигурациями систем, на которых отсутствовала возможность изменить параметры mbstring.func_overload и mbstring.internal_encoding, указанными выше методами.

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

Источник

Устранение неполадок в Битрикс

В заметке собраны некоторые проблемы с Bitrix Framework и VMBitrix, а так же приведены способы их решения.

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

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

Как уменьшить размер БД

Если база данных 1С-Битрикс разрослась и это не связно с количеством информации или товаров на сайте, то возможно базу раздувают записи Журнала событий, статистика модуля Веб-аналитика или другие таблицы.

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

Как очистить статистику Веб-аналитики

В админке перейдите в Настройки > Настройки продукта > Настройки модулей > Веб-аналитика. В разделе Очистка статистики укажите до какой даты выполнить очистку (если оставить незаполненным, то будет очищена вся статистика) и нажмите кнопку Очистить.

Как удалить записи из Журнала событий

В настройках главного модуля, на вкладке Журнал событий, уменьшите количество дней для хранения событий. Чем меньше дней хранятся записи, тем меньше весит таблица. Дополнительно можно исключить типы событий, которые не нужно записывать в таблицу. База уменьшится не сразу, Битрикс потребуется некоторое время на удаление старых событий.

Более быстрый и радикальный вариант – очистить таблицу b_event_log через SQL-запрос. При этом будут удалены все события!

Если таблица не очень большая, выполните запрос через админку: Настройки > Инструменты > SQL запрос (или на странице you.site/bitrix/admin/sql.php).

Если таблица огромная (больше 4Гб), то скорее всего запрос не выполнится и отвалится по тайм-ауту. В таком случае выполнить запрос лучше из консоли MySQL на сервере, примерно так:

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

К слову, поврежденную таблицу можно восстановить командой.

Как очистить разросшуюся таблицу b_cache_tag

Перейдите в Настройки продукта > Автокэширование > Очистка файлов кэша.

Затем аналогично действиям описанным в предыдущем разделе выполните:

Где изменить mbstring.internal_encoding и mbstring.func_overload

Значения mbstring.func_overload и mbstring.internal_encoding зависят от вашего сайта, используемой кодировки и проблемы, которую решаете.

Вариант 2 (так же для HP ниже версии 7.3). Добавить параметры в файле настройки виртуальных хостов. Для Apache это:

Вариант 3 (для всех версий PHP). Установить необходимые значения в php.ini, для BitrixVM /etc/php.d/z_bx_custom.ini. После внесения изменений нужно перезагрузить сервер.

Смена кодировки Битрикс на UTF8

Для PHP установите следующие параметры.

Удалите модули Поиск без сохранения таблиц и Веб-аналитика (без сохранения таблиц, но с сохранением шаблонов сообщений).

Из словаря транслита в модуле Форум (Сервисы > Форумы > Фильтр нецензурных слов > Словарь транслита) удалить букву ё (ID = 7).

В настройках сайта изменить кодировку с windows-1251 на utf-8.

В файле /bitrix/php_interface/dbconn.php установить для константы BX_UTF значение true.

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

Где database_name – имя базы данных сайта.

В результате будет выведен новый запрос, который нужно скопировать и выполнить. По завершении таблицы базы данных будут переведены в кодировку UTF-8.

Далее пропишите в /bitrix/php_interface/after_connect.php:

В файл /bitrix/php_interface/after_connect_d7.php:

Затем полностью очистите кэш сайта.

Удалите более ненужный скрипт convert_utf8.php.

Заново установите модуль Поиск и сделайте переиндексацию.

Установите модуль Веб-аналитика (если использовали ранее).

Если выкидывает из админки Битрикс

После ввода логина и пароля снова открывается страница авторизации

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

Вторая причина – переполнения дискового пространства сервера. Очистите место на диске, удалите лишние бэкапы или докупите место (если это возможно) у своего хостинг-провайдера.

Периодически выкидывает из админки

Такое может происходить если в качестве DNS-сервера используется Cloudflare или аналог, например для использования SSL-сертификатов или защиты от DDoS. В этом случае, сессию обрывает механизм защиты Битрикс. Cloudflare подменяет ip-адрес пользователя и админка пресекает доступ. Для исправления внесите в dbconn.php следующие правки:

Однако после окончания работы в админке, лучше вернуть исходные настройки dbconn.php, ради безопастности.

Другой причиной вылетов, может быть наличие лишних символов или пробелов в файлах dbconn.php, after_connect.php, after_connect_d7.php, особенно в начале или в конце файла. Исправьте и проблема должна решиться.

Не отправляется почта

Если перестала отправляться почта на Яндекс

После многих лет пользования Яндекс.Почтой для отправки сообщений от интернет-магазина на Битрикс, почта перестала работать. В логах ошибка:

Одна из причин по которой это может произойти: адрес почты, под которой авторизируется сервер, отличается от почты (поле «From», «От кого») указанной на сайте.

Раньше такая схема вполне себе работала на Яндекс. В Битрикс можно было указать почту, например my@company.ru, при том, что сервер отправлял ее с ящика info@yandex.ru. Получатель письма все равно в отправителях видел почту my@company.ru.

Но начиная с 2020 года, Яндекс постепенно запрещает отправку писем если поле «From» отличается от адреса пользователя, с данными которого производится авторизация на сервере.

Свою проблему решил, выбрав третий вариант. Рекомендую хостинги:

Логирование почты

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

Добавьте в dbconn.php следующие строки.

Теперь, при отправке письма в лог будут писаться сообщения.

Проблемы с отправкой уведомления о заполнении веб-форм

Для начала проверьте, настройки почтового события заполнения формы и его шаблона. Откройте Панель управления > Настройки > Настройки продукта > Почтовые события > Типы событий и выберите интересующее событие.

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

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

На вкладке Шаблоны должен задан хотя бы один шаблон. Перейдите в шаблон кликнув на его идентификаторе или откройте его из списка шаблонов: Панель управления > Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны.

В настройках выбранного почтового шаблона, должна стоять галочка Активен, и выбран хотя бы один сайт. Также должны быть корректно заполнены поля От кого и Кому (значения по-умолчанию #DEFAULT_EMAIL_FROM# и #EMAIL# соответственно).

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

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

Если не помогло, перейдите в Настройки > Инструменты > SQL-запрос и выполните следующий запрос:

Найдите событие заполнения формы, поле SUCCESS_EXEC:

Ошибка БД после переноса на другой хостинг

Одна из типичных ошибок после переноса на другой хостинг, например такая:

Может быть вызвана сменой СУБД с MySQL на MySQLi или наоборот.

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

В случае с MySQLi

В файле \bitrix\php_interface\dbconn.php

В файле \bitrix\.settings.php поменять класс соединения с базой на MysqliConnection.

В случае с MySQL соответственно

В файле \bitrix\php_interface\dbconn.php

В файле \bitrix\.settings.php поменять класс соединения с базой на MysqlConnection.

После изменения настроек, сайт должен заработать.

Ошибка: innodb_strict_mode=ON, требуется OFF

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

Вариант 1. Через конфигурационные файлы Битрикс.

В файл /bitrix/php_interface/after_connect.php добавьте сторку:

В файл /bitrix/php_interface/after_connect_d7.php

Вариант 2. Через конфигурационные файлы MySQL.

Откройте конфигурационный файл MySQL (три возможных варианта расположения):

Добавить строку в блоке # InnoDB parameters

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

Ошибка: Переменная sql_mode в MySQL должна быть пустая

Ошибка может появиться при проверке системы, когда параметр sql_mode задаёт режим работы MySQL, несовместимый с Битрикс.

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

В файл /bitrix/php_interface/after_connect_d7.php

В файл /bitrix/php_interface/after_connect.php

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

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Источник

Как изменить настройку PHP mbstring.func_overload

Подписаться на
рассылку

Отправляем полезные письма о бизнесе, сайтах и хостинге каждые 2 недели

Что делать, если появляется уведомление в административном разделе 1С-Битрикс. Как изменить mbstring func overload.

В этом году к нам часто обращаются с уведомлением от 1С-Битрикс:

Для обновления продукта необходимо удалить настройку PHP mbstring.func_overload. Пожалуйста, внесите необходимые изменения или обратитесь в службу технической поддержки вашего хостинга.

На самом деле решить эту настройку можно без обращения в поддержку хостинга. Это просто и быстро.

Для этого перейдите в панель управления, следуя одному из способов.

Зайдите в панель управления по доступам из письма с активацией услуги.

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

Перейдите в панель из личного кабинета https://cp.reddock.ru/. Выберите в меню слева Товары/УслугиВиртуальный хостинг. Выделите услугу и нажмите «Перейти».

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

На панели меню слева перейдите WWW (1) → PHP (2).

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

Если вы не знаете версию PHP, в панели управления виртуальным хостингом на панели меню слева перейдите в WWWWWW-домены. В списке доменов в последнем столбце будет указана установленная версия PHP.

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

Далее перейдите в настройки вашей версии PHP.

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

После того, как вы перейдете в настройки PHP, выделите курсором строку «mbstring» и нажмите на карандаш в конце строки или на кнопку «Изменить».

удалите устаревший параметр mbstring func overload. Смотреть фото удалите устаревший параметр mbstring func overload. Смотреть картинку удалите устаревший параметр mbstring func overload. Картинка про удалите устаревший параметр mbstring func overload. Фото удалите устаревший параметр mbstring func overload

Укажите значение 0 и примените изменения.

Источник

Где и как можно исправить ситуацию.

Извините за неграмотность.

php_value mbstring.func_overload 0
mbstring.internal_encoding=ISO-8859-1

В русской раскладке всё заработает корректно. Перезагружать сервер не обязательно.

я забил. у меня поставилось. в инет магазине почта не отправляется, не пойму почему. Возможно изза этого.

ps. нет, не изза этого. конфиг этот подправил, все равно не отправляется(причем только при при оформлении заказа в инет магазине)
p.p.s. Почта отправлялась изза того что не хватало памяти. Перешли на тариф с 192 ОЗУ и все заработало.
а если выставлять mbstring = 0, единственный глюк что я нашел:

при включенном режиме правки, пытаемся редактировать параметры компонента, высвечивается окно которое должно быть с параметрами, и в нем сообщение:
«Не удалось обнаружить код вызова компонента.» Приходится править параметры компонента либо в исходнике(в коде вызова компонента), либо через визуальный редактор страницы.

Нет этой строки /etc/php.d/mbstring.ini:
Нельзя ли все это как то решить, раз и навсегда? У разного хостера одно и тоже? и везде надо все подписывать и дописывать?

Цитата
КОМАН СТИНС написал:
Можно mbstring.func_overload изменить «Местечково» например только для заданной папки где у вас работает скрипт требующий ее отключения. Делается на сервере под апачем тут etc/apache2/conf.d/httpd.conf, для виртуальной машины битрикс тут etc/httpd/conf/httpd.conf. Добавляем строки например для папки /personal/promo/

php_admin_value mbstring.func_overload 0

Как быть в ситуации когда надо его отключить для собственных печатных форм магазина?
Сами печатные формы лежат в /bitrix/admin/reports, но вызов происходит /bitrix/admin/sale_print.php. соответственно чтобы отключить mbstring.func_overload надо добавить

php_admin_value mbstring.func_overload 0

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

Цитата
Евгений Крохин написал:
На дворе конец 17-го, разрабы всё так-же оставляют этот скелет в шкафу, обосновавшийся там ещё времен безнадежно устаревшей кодировки, и даже мизинцем повести не желают. Это аргумент в «пользу».
Цитата
да прям вообще «трагедия века».
с учетом того что предоставляется готовое окружение и куча хостеров у которых одной кнопкой можно настроить совместимость сайта с bitrix

«Уважаемый», не говорите глупостей, чтобы не вам не сказали куда надо пойти.

Во вторых у меня на DEV-сервере крутится куча проектов, который я настраивал под свои нужды в то время, когда ещё ни кто не знал про Битрикс, и уже в то время всё прекрасно работало на UTF-8 безо всяких «сопель». И только Битрикс требует к себе подобного «внимания», сказать, что это настораживает, значит не сказать ни чего.

Данный функционал объявлен УСТАРЕВШИМ начиная с PHP 7.2.0 и его использование крайне не рекомендовано.

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

В связи с обновлением многие будут искать, оставлю инструкцию что делать:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *