Компонент требует расширение PHP iconv или mbstring.

Вопрос или проблема

Я установил композер через “sudo apt install composer”, установка прошла успешно, но когда я пытаюсь выполнить любую команду композера, например: “composer -v”, в терминале выводится следующий результат.

"Необходимы расширения iconv или mbstring, и оба отсутствуют.
Установите одно из них или пересоберите PHP без --disable-iconv.
Прерывание."

Я использую PHP 8.1

Вам нужно установить недающее расширение: mbstring для вашей версии PHP:

apt install php8.1-mbstring

.

Ответ или решение

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

Что такое iconv и mbstring?

iconv и mbstring – это расширения PHP, которые обеспечивают поддержку работы с многоязычными строками.

  • iconv позволяет конвертировать строки между различными кодировками, что особенно полезно при работе с текстом, поступающим из разных источников.
  • mbstring (Multibyte String Functions) предоставляет функции для работы со строками, которые могут содержать много байт на символ (например, для языков, использующих иероглифы или специфические алфавиты). Оно обеспечивает корректную обработку таких строк в PHP.

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

Ошибка при выполнении команды Composer

Когда вы получаете сообщение об ошибке:

"The iconv OR mbstring extension is required and both are missing.
Install either of them or recompile php without --disable-iconv.
Aborting."

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

php -m

Установка расширений

Для установки необходимого расширения в вашей системе, которая использует PHP 8.1, выполните следующие команды:

  1. Установка расширения mbstring:
sudo apt install php8.1-mbstring
  1. Установка расширения iconv (обычно оно предустановлено в большинстве дистрибутивов, но если вы хотите проверить, выполните):
sudo apt install php8.1-iconv

Перезапуск веб-сервера

После установки необходимых расширений рекомендуется перезапустить веб-сервер, если вы используете его (например, Apache или Nginx):

sudo systemctl restart apache2
# или
sudo systemctl restart nginx

Проверка установки

Для проверки успешной установки и активации расширений вы можете снова выполнить команду:

php -m

Убедитесь, что в списке активных расширений присутствуют mbstring и iconv.

Заключение

Теперь вы сможете без проблем использовать Composer. Эти расширения не только необходимы для Composer, но и значительно облегчают работу с многоязычными текстами в PHP-проектах. Следование указанным выше шагам поможет устранить проблему и обеспечить правильную работу вашего окружения разработки.

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

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

Капча загружается...