PHP 7.2 Устарел mbstring.func_overload

Рейтинг: 110.0234  
Внедрено
Предложил Харахнин Станислав 17.08.2017 10:56:47

PHP 7.2 Устарел mbstring.func_overload

Здравствуйте.

Коллеги, сейчас читал спецификацию по релизу PHP 7.2. Считаю важным обратить внимание разработчиков на важные момент. В данной версии mbstring.func_overload считается устаревшим и при не нулевом значении будет выбрасываться Deprecation notice. Это еще не критично, но стоит задуматься. Сейчас в битриксе при работе в uft-8 кодировке значение mbstring.func_overload = 2 является обязательным. Иначе сайт может не корректно работать.

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

Список изменений можно посмотреть тут и конкретно по mbstring.func_overload тут

Нашел такую же идею тут. Нет возможности удалить, поэтому прошу голосовать в теме другого автора
Рейтинг: 1  
Ответил Жуков Евгений 22.09.2020 15:59:07
Доступны дистрибутивы 20.5.393. Для существующих проектов - выпущены или тестируются обновления модулей (за исключением модуля compression - снят с использования, необходимо удалить).

Рейтинг: 2  
Пащенко Эдуард 17.01.2018 15:53:54
при установке значения в 2 сервер вообще 500 отдает :(
пришло время серьезно заняться проблемой

вышла обнова, в чейнджлоге написано что улучшена совместимость с 7.2.
это значит что битрикс вылетает теперь не с пятисотой ошибкой, а с 502.
Рейтинг: 9.7804  
Police King 19.01.2018 02:34:25
Битрикс - Мои слёзы, моя печаль.

Целую неделю, как из ведра, льёт дождь.
В голове - туман, тело бросает в дрожь.
Я не могу спать, мечтать, не хочу есть.
Каждая минута несёт только дурную весть.
Дома скандалы. Родители меня не понимают.
Делаю вид, будто бы меня воспитывают.
Я заперт в клетке. Любимый Битрикс сломан.
Мой вид из окна напоминает тюрьму,
В которой я живу. Маны на память учу.
Как будто бы весь мир мне объявил Холодную PHP-войну.
Первый раз в жизни на деньги сыграл.
В компьютерной игре всё до копейки потерял.
В школу проспал - выгнали из класса.
Я выкинул дневник - с ним домой идти без мазы.
Смотрю теперь на зеркало: ну кем я стал?
Мой мир с Битрикс превратился в слёзы и печаль.

Мои слёзы - моя печааааль.
Мои грёзы - это тихий раиаййй.
....
:)  
Рейтинг: 2.8902  
Уткин Дмитрий 12.03.2018 17:33:08
Будет ли эта проблема решаться?
Рейтинг: 3.7804  
Шарипов Ринат 14.05.2018 13:10:17
проблема актуальна как никогда... теперь установка битрикс на php 7.2 это попа боль...
Рейтинг: 0  
Арсен 02.07.2019 16:30:10
Есть какие-то простое решение?
Рейтинг: 1  
Валерий Чебан 26.07.2019 01:07:36
в php 7.2 директива еще работает.
главное отключить выбрасывание ошибки E_DEPRECATED:

; php.ini
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED

а вот в php 7.2+ похоже ее выпилят окончательно, и это ура, т.к. наконец битрикс будет переписан чтобы не зависеть от данной директивы.
Рейтинг: -1  
Ипатов Дмитрий 02.11.2019 18:58:41
Ждем Битрикс 2.0 в 2020 году   :)  
Рейтинг: 2  
Чалдык Сергей 12.02.2020 11:13:52
Привет всем из 2020
По прежнему мучаемся с mbstring. Уже немного стыдно писать баг-репорты разработчикам популярных библиотек, понимая в итоге, что все баги из-за func_overload
на php.net давно уже висит
Внимание Данный функционал объявлен УСТАРЕВШИМ, начиная с PHP 7.2.0 и его использование крайне не рекомендовано.
Но похоже нам еще долго придется писать костыли, отказываться от популярных библиотек и тратить уйму времени на бессмысленную поддержку кодировки windows-1251
Рейтинг: 1.8902  
Police King 12.02.2020 11:33:24
Ждем Битрикс 2.0 в 2020 году
Уже пишу, постараюсь в 2020 релизнуть:)  
Рейтинг: 0  
Парников Алексей 30.10.2020 07:58:07
Уже пишу, постараюсь в 2020 релизнуть:)
ЭЭм, где релиз?
Рейтинг: 0.8902  
Aбт Алексей 23.11.2020 15:17:19
Релизнули.
main (20.100.0)
[*]Обновление требует удаления опции mbstring.func_overload. Эта опция более не требуется и не поддерживается платформой.

Перед обновлением рекомендую собрать список скриптов, где используются функции mb_ и проверить их работу после обновления, могут быть сюрпризы!
Рейтинг: 0  
Голубев Владислав 30.11.2020 14:40:39
Отключил func_overload, теперь строковые функции не работают как ожидается, например strtolower не приводит к нижнему регистру русские буквы.