PHP LinuxWindowsmacOS

PHP: Call to undefined function mb_strlen()

  • Обновлено
  • Чтение ≈ 2 минуты
  • Нужны права администратора

Краткий ответ

Установите и включите расширение mbstring.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Как установить расширение
  5. Проверка результата
  6. Типичные ловушки

#Что означает ошибка

Сообщение
undefined function mb_strlen

Fatal error: Call to undefined function mb_strlen() сообщает, что в вашей сборке PHP не включено расширение mbstring. Функции mb_* нужны для корректной работы со строками в многобайтовых кодировках, прежде всего UTF-8: обычный strlen считает байты, а не символы, поэтому русский текст «ломается».

Эти функции требуются большинству современных CMS и фреймворков (WordPress, Laravel, Symfony), и ошибка возникает чаще всего после переезда на новый сервер или обновления версии PHP, когда набор расширений не был установлен заново.

Установите и включите расширение mbstring.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Нет mbstringРасширение.Проявляется как «undefined function mb_strlen» или близкий по смыслу сбой.Установите.
php.iniВыключено.Проявляется как «undefined function mb_strlen» или близкий по смыслу сбой.Включите.
Другая версия PHPCLI/FPM.Проявляется как «undefined function mb_strlen» или близкий по смыслу сбой.Проверьте.
КэшСтарый.Проявляется как «undefined function mb_strlen» или близкий по смыслу сбой.Перезапустите.

#Пошаговое решение

  1. Проверьте, установлено ли расширениеНайдите в логе Call to undefined function mb_strlen() и выясните, какой PHP исполняет проблемный файл — веб-сайт через PHP-FPM или CLI-скрипт. В панели хостинга посмотрите список расширений выбранной версии; CLI-команда php -m | grep mbstring сама по себе не доказывает наличие модуля у сайта.
  2. Установите php-mbstringЕсли mbstring отсутствует, администратор Debian/Ubuntu устанавливает пакет для используемой версии PHP из настроенного репозитория, например php8.2-mbstring для PHP 8.2; точное имя зависит от системы. Сначала проверьте репозитории и совместимость, не смешивайте пакеты разных сборок.
  3. Проверьте версию PHP веб-сервераВ Windows со сборкой PHP откройте фактический php.ini веб-сервера и проверьте включение расширения mbstring, наличие DLL и совпадение архитектуры/версии. Для XAMPP/OpenServer действуют собственные панели настройки; не копируйте чужой php.ini поверх своего.
  4. Перезапустите службуПосле установки модуля перезагрузите нужную службу PHP-FPM или веб-сервер по способу развёртывания, затем проверьте extension_loaded("mbstring") именно в веб-контексте через временный закрытый тест. Удалите тестовую страницу после проверки и повторите операцию mb_strlen().

#Как установить расширение

На Ubuntu и Debian установите пакет php-mbstring (или с номером версии, например php8.2-mbstring) и перезапустите PHP-FPM или Apache. На CentOS/AlmaLinux — пакет php-mbstring из репозитория. В Windows раскомментируйте строку extension=mbstring в php.ini и убедитесь, что есть файл php_mbstring.dll.

#Проверка результата

Выполните php -m | grep mbstring в консоли и откройте phpinfo() на сайте. Важно проверять именно ту версию PHP, которая обрабатывает сайт: в консоли и в веб-сервере могут быть разные версии и разные php.ini. Если расширение установлено для CLI, но не для FPM, ошибка останется.

#Типичные ловушки

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

Linux · Терминал (Bash)КомандаНужен sudo
Проверка и установка расширения; версию PHP в имени службы замените на свою.
php -v
php -m | grep -i mbstring
# Веб-PHP может отличаться от CLI; устанавливайте mbstring для его конкретной версии.
# Перезагрузите только реально изменённую службу PHP, проверив установленную конфигурацию.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.