Как исправить ошибку «Запрошенное расширение PHP ext-intl * отсутствует» в Ubuntu: подробное руководство

Если вы PHP-разработчик, работающий в системе Ubuntu, вы можете столкнуться с неприятным сообщением об ошибке «Запрошенное расширение PHP ext-intl * отсутствует в вашей системе Ubuntu». Эта ошибка обычно возникает, когда расширение ext-intl, необходимое для выполнения задач интернационализации и локализации, не установлено или не настроено должным образом. В этой записи блога мы рассмотрим несколько способов решения этой проблемы и обеспечения бесперебойной работы ваших PHP-приложений.

Метод 1: установка ext-intl с помощью apt-get:
Самый простой способ устранить эту ошибку — использовать менеджер пакетов apt-get для установки расширения ext-intl. Откройте терминал и выполните следующую команду:

sudo apt-get install php-intl

Эта команда установит необходимые зависимости и включит расширение ext-intl в вашей конфигурации PHP.

Метод 2: включение ext-intl в php.ini:
В некоторых случаях, даже если ext-intl установлен, он может быть не включен в файле конфигурации php.ini. Чтобы включить его, откройте файл php.ini в текстовом редакторе:

sudo nano /etc/php/{version}/cli/php.ini

Замените {version}на свою версию PHP (например, 7.4, 8.0). Найдите строку, которая начинается с ;extension=intl, и удалите точку с запятой в начале, чтобы раскомментировать ее. Сохраните файл и перезапустите веб-сервер:

sudo service apache2 restart

Метод 3: Компиляция ext-intl из исходного кода:
Если предыдущие методы не помогли, вы можете попробовать скомпилировать ext-intl из исходного кода. Вот шаги:

  1. Загрузите исходный код PHP, соответствующий вашей версии PHP, с официального сайта PHP.

  2. Извлеките загруженный архив и перейдите в каталог ext/intl.

  3. Скомпилируйте расширение, выполнив следующие команды:

phpize
./configure
make
sudo make install
  1. После завершения процесса компиляции добавьте расширение в файл php.ini, добавив следующую строку:
extension=intl.so
  1. Сохраните файл php.ini, перезапустите веб-сервер, и теперь расширение ext-intl должно быть включено.

Метод 4. Использование менеджера версий PHP:
Если вы используете менеджер версий PHP, например phpenv или php-build, вы можете установить ext-intl для конкретной версии PHP, выполнив следующую команду:

phpenv install-ext intl

Эта команда загрузит, скомпилирует и установит расширение ext-intl для выбранной версии PHP.

Обнаружение ошибки «Запрошенное расширение PHP ext-intl * отсутствует» в Ubuntu может расстроить, но, к счастью, существует несколько способов ее устранения. Независимо от того, решите ли вы установить через apt-get, включить его в php.ini, скомпилировать из исходного кода или использовать менеджер версий PHP, эти решения помогут вам вернуть ваши PHP-приложения в нужное русло. Не забудьте выбрать метод, который соответствует вашим потребностям и конфигурации системы. Приятного кодирования!