При работе с 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». Выполните следующие действия:
- Загрузите исходный код PHP с официального сайта PHP.
- Распакуйте скачанный архив.
- Перейдите в извлеченный каталог исходного кода PHP.
- Выполните следующие команды:
./configure --enable-mbstring
make
sudo make install
Метод 3: включение расширения mbstring в конфигурации PHP
Иногда расширение «mbstring» уже установлено, но не включено в вашей конфигурации PHP. Чтобы включить его, выполните следующие действия:
- Найдите файл конфигурации PHP (php.ini). Местоположение файла зависит от вашей операционной системы и метода установки PHP.
- Откройте файл php.ini в текстовом редакторе.
- Найдите следующую строку:
;extension=mbstring
- Раскомментируйте строку, удалив точку с запятой (;) в начале, чтобы она стала следующей:
extension=mbstring
- Сохраните изменения и перезапустите веб-сервер.
Метод 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.