🧰
Хостинг

Как включить расширения PHP: intl, gd, imagick, zip

12.11.2026
← Все статьи

При установке новой CMS, загрузке пакетов через Composer или на странице «Здоровье сайта» в WordPress часто появляется предупреждение о том, что не найдено требуемое расширение PHP. Сам PHP даёт только базовые возможности, а работа с изображениями, распаковка архивов или правильное форматирование дат и чисел на разных языках выполняются отдельными расширениями. Чаще всего спрашивают про четыре: intl, gd, imagick и zip. Разберём, зачем нужно каждое, как проверить, включено ли оно, и как его включить.

Четыре расширения и их задачи

intl: языки, даты и числа

Расширение intl основано на библиотеке ICU и обрабатывает текст, даты, числа и валюты по правилам разных языков. Например, вывести названия месяцев на узбекском, русском или английском, показать сумму в сумах с правильными разделителями или отсортировать строки по правилам языка — всё это делается через него. Многие современные фреймворки и CMS (например, часть хелперов Laravel, компоненты Symfony, Magento) требуют intl или настоятельно его рекомендуют. Для узбекского языка в ICU есть отдельные локали для латиницы и кириллицы:

$date = new IntlDateFormatter('uz_Latn_UZ', IntlDateFormatter::LONG, IntlDateFormatter::NONE);
echo $date->format(new DateTime('2026-03-21'));

$money = new NumberFormatter('uz_Latn_UZ', NumberFormatter::CURRENCY);
echo $money->formatCurrency(150000, 'UZS');

Точный вид результата зависит от версии ICU на сервере, поэтому проверьте его у себя.

gd: базовая работа с изображениями

gd позволяет читать изображения, менять размер, обрезать, накладывать надписи и водяные знаки, сохранять в другой формат. CMS используют его для создания миниатюр из загруженных картинок, для капчи и графиков. GD поддерживает несколько форматов, но поддержка WebP или AVIF зависит от того, как собрано расширение. Узнать это можно функцией gd_info().

imagick: более мощная обработка изображений

imagick — расширение для работы с ImageMagick. Оно понимает больше форматов, чем GD, лучше сохраняет цвет и качественнее уменьшает большие изображения. Превью первой страницы PDF обычно тоже делают через imagick, но для этого на сервере нужен Ghostscript, а политика безопасности ImageMagick должна разрешать работу с PDF. Если imagick доступен, WordPress предпочитает его для изображений вместо GD.

zip: работа с архивами

Расширение zip добавляет в PHP класс ZipArchive. Через него сайт создаёт архивы, распаковывает загруженные файлы и собирает результаты экспорта в один файл. Если нет ни расширения zip, ни программы unzip на сервере, Composer может перейти на более медленный способ загрузки пакетов или выдать предупреждение. На это расширение опираются и многие плагины резервного копирования, и библиотеки для создания Excel-файлов (формат XLSX по сути является zip-архивом).

Как проверить, включено ли расширение

Надёжнее всего проверять PHP, который работает через веб-сервер: PHP в командной строке может быть другой версии или с другими настройками. Положите в папку сайта временный файл, откройте его в браузере и после проверки удалите:

<?php
foreach (['intl', 'gd', 'imagick', 'zip'] as $ext) {
    echo $ext . ': ' . (extension_loaded($ext) ? 'есть' : 'нет') . "<br>";
}

При доступе по SSH можно посмотреть и из командной строки. Только убедитесь, что это тот же PHP, что и у сайта, особенно если на сервере установлено несколько версий:

php -v
php -m | grep -E 'intl|gd|imagick|zip'

Как включить на виртуальном хостинге

На виртуальном хостинге расширения устанавливаются на уровне сервера, а клиент управляет ими только в рамках того, что разрешает панель. В ISPmanager для сайта можно выбрать версию PHP, а в зависимости от настроек сервера для выбранной версии может отображаться и список расширений. Иногда дело не в отсутствии расширения, а в том, что для сайта выбрана старая версия PHP: при переходе на новую нужные расширения появляются. Перед сменой версии проверьте, совместимы ли с ней ваша CMS и плагины.

Клиенты sayt.uz входят в панель со страницы хостинга в кабинете sayt.uz. Если включить нужное расширение самостоятельно не получается, напишите тикет в техподдержку из кабинета и укажите сайт, версию PHP и нужное расширение.

Установка на собственном VPS

На VPS расширения устанавливаете вы сами. В Ubuntu 24.04 стандартный PHP — 8.3, а расширения ставятся отдельными пакетами. После установки нужно перезапустить PHP-FPM, иначе сайт не увидит новое расширение:

sudo apt update
sudo apt install php8.3-intl php8.3-gd php8.3-zip php-imagick
sudo systemctl restart php8.3-fpm

php -m | grep -E 'intl|gd|imagick|zip'

Если PHP работает как модуль Apache, вместо php8.3-fpm перезапускается служба apache2. Для другой версии PHP поменяйте цифры в названиях пакетов. Если расширение установлено, но не включено, в Debian и Ubuntu поможет команда phpenmod, например sudo phpenmod intl.

Пример: портал учебного центра в Андижане

Для учебного центра в Андижане на example.uz написали портал для слушателей на Laravel. На компьютере разработчика всё работало, а на сервере composer install остановился с ошибкой «Root composer.json requires PHP extension ext-intl». Кроме того, функция создания превью сертификатов об окончании курса требовала imagick. Проверка показала, что для сайта была выбрана старая версия PHP без включённого intl. Версию PHP обновили в панели, недостающие расширения включили через техподдержку, после чего composer install прошёл успешно, а превью сертификатов стали создаваться корректно.

Несколько практических советов

Похожие статьи

📦 Переезд с Plesk на другую панель: что забрать и о чём не забыть ⏱️ Как ежеминутный cron нагружает сервер и как его облегчить 🧪 Как разместить Flask-приложение на хостинге: wsgi, Passenger, Gunicorn 🚀 PHP 8.5: pipe-оператор, расширение URI и другие новые функции
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский ✓ 🇬🇧 English