Решение проблемы отсутствия зависимостей ext-mbstring в Laravel

При работе с Laravel вы можете столкнуться с сообщением об ошибке, похожим на «laravel/framework[v7.29.0, …, 7.x-dev] требует ext-mbstring * ->он отсутствует в вашей системе». Эта ошибка указывает на то, что необходимое расширение «mbstring» не установлено в вашей системе. В этой статье мы рассмотрим различные способы решения этой проблемы, а также приведем примеры кода.

Метод 1: установка расширения mbstring через диспетчер пакетов
Один из самых простых способов установить отсутствующее расширение «mbstring» — использовать менеджер пакетов, например apt или yum, в зависимости от вашей операционной системы. Вот пример для Ubuntu:

sudo apt-get install php-mbstring

Метод 2: установка расширения mbstring посредством компиляции исходного кода PHP
Если метод менеджера пакетов не подходит для вашей среды, вы можете скомпилировать PHP из исходного кода с включенным расширением «mbstring». Выполните следующие действия:

  1. Загрузите исходный код PHP с официального сайта PHP.
  2. Распакуйте скачанный архив.
  3. Перейдите в извлеченный каталог исходного кода PHP.
  4. Выполните следующие команды:
./configure --enable-mbstring
make
sudo make install

Метод 3: включение расширения mbstring в конфигурации PHP
Иногда расширение «mbstring» уже установлено, но не включено в вашей конфигурации PHP. Чтобы включить его, выполните следующие действия:

  1. Найдите файл конфигурации PHP (php.ini). Местоположение файла зависит от вашей операционной системы и метода установки PHP.
  2. Откройте файл php.ini в текстовом редакторе.
  3. Найдите следующую строку:
;extension=mbstring
  1. Раскомментируйте строку, удалив точку с запятой (;) в начале, чтобы она стала следующей:
extension=mbstring
  1. Сохраните изменения и перезапустите веб-сервер.

Метод 4: использование менеджера версий PHP
Если вы используете менеджер версий PHP, например phpbrew или phpenv, вы можете легко переключиться на версию PHP с включенным расширением «mbstring». Вот пример использования phpbrew:

phpbrew ext install mbstring
phpbrew switch <php_version>

Замените <php_version>на нужную версию PHP.

Метод 5: использование Docker
Если вы предпочитаете работать с Docker, вы можете использовать готовые образы PHP, включающие расширение «mbstring». Вот пример использования официального образа PHP Docker:

FROM php:7.4
RUN docker-php-ext-install mbstring

Проблему отсутствия зависимости ext-mbstring в Laravel можно решить различными способами. Вы можете установить расширение «mbstring» с помощью менеджера пакетов, скомпилировать PHP из исходного кода с включенным расширением, включить расширение в конфигурации PHP, использовать менеджер версий PHP или использовать Docker. Выберите метод, который лучше всего соответствует вашей среде и требованиям, чтобы устранить эту ошибку и продолжить разработку с помощью Laravel.