[Решено] PHP Deprecated: idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated in | Wiki | PWODEV
, 23.08.2019 13:10

[Решено] PHP Deprecated: idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated in


Сегодня столкнулся с проблемой, что функции idn_to_utf8() и idn_to_ascii() в новой версии php не работают или показывают ошибку. Мы все идем в ногу со временем, поэтому надо адаптироваться. Итак как выглядит ошибка:

PHP Deprecated:  idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated in /var/www/site/index.php on line 545

Или так:

PHP Deprecated:  idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated in /var/www/site/index.php on line 545

Давайте разберемся почему тут ошибка. Есть посмотреть официальный сайт PHP там написано, что начиная с php 7.2.0 INTL_IDNA_VARIANT_2003 считается устаревшим и вместо него используется INTL_IDNA_VARIANT_UTS46.

Решение:

Идем туда где вызывается функция которая выдает ошибку и добавляем 2 параметра: IDNA_DEFAULT и INTL_IDNA_VARIANT_UTS46.

Пример для idn_to_utf8:

// idn_to_utf8($url) // было так
idn_to_utf8($url, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46); // теперь так

Пример для idn_to_ascii:

// idn_to_ascii($url) // было так
idn_to_ascii($url, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46); // стало так

Все, теперь ошибки не будет. Можно дальше продолжать работать.

Ссылки на официальный сайт PHP:

[Решено] PHP Deprecated: idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated in
Скриншот с официального сайта

Возможно вам пригодится еще одно наше решение: You don’t have permission to access / on this server

На этом надо завершать пост. Заходите к нам по чаще. Регистрируйтесь и пишите комментарии.


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