Устанавливаем PHP-расширения: mbstring, curl, gd, xml, json, opcache, redis/memcached
Дата публикации: 24.06.2026

Устанавливаем PHP-расширения: mbstring, curl, gd, xml, json, opcache, redis/memcached

Хочу себе такие же кнопки
ccb9a536

Что вы получите сразу после прочтения

  • Поймёте, какие PHP‑расширения критичны для работы сайта на Битриксе и почему.
  • Научитесь ставить их на самых популярных дистрибутивах Debian/Ubuntu и CentOS/RHEL без лишних вопросов.
  • Сможете проверить, что расширения действительно загружены, и быстро исправить типичные ошибки.

1. Почему именно эти расширения?

Расширение Что делает Зачем нужно Битриксу
mbstring Работа с многобайтными строками (UTF‑8) Корректный вывод русских символов в шаблонах и API
curl HTTP‑клиент, запросы к внешним сервисам Интеграция с платёжными шлюзами, соцсетями, CDN
gd Графика: создание миниатюр, водяных знаков Автоматическое масштабирование изображений товаров
xml Парсинг/генерация XML‑документов Обмен данными с 1С, RSS‑ленты, SOAP‑сервисы
json Кодирование/декодирование JSON AJAX‑ответы, работа с REST‑API
opcache Кеширование байткода PHP Уменьшение времени отклика, экономия CPU
redis / memcached Быстрый in‑memory кеш Хранение сессий, кэша запросов, ускорение сложных запросов

Если хотя бы одно из этих расширений отсутствует, Битрикс будет падать, выдавать «неизвестный тип данных» или работать медленно.


2. Подготовка сервера

Важно: Перед установкой убедитесь, что у вас есть root‑доступ (или sudo) и актуальная версия PHP, поддерживаемая Битриксом (обычно 7.4‑8.2).

# Обновляем список пакетов
sudo apt update      # Debian/Ubuntu
sudo yum check-update # CentOS/RHEL

3. Установка на Debian/Ubuntu

3.1. Установка пакетов

# Указываем нужную ветку PHP, например 8.1
sudo apt install php8.1-mbstring php8.1-curl php8.1-gd \
                 php8.1-xml php8.1-json php8.1-opcache \
                 php8.1-redis php8.1-memcached

Если вы используете другую версию PHP, замените 8.1 на нужный номер.

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

php -m | grep -E 'mbstring|curl|gd|xml|json|opcache|redis|memcached'

Вывод должен содержать все перечисленные имена. Если чего‑то нет, проверьте, что пакет действительно установлен (dpkg -l | grep php8.1).

3.3. Включение в php.ini

Большинство пакетов автоматически добавляют файлы в /etc/php/8.1/mods-available/ и включают их через phpenmod. Если нужно вручную добавить, откройте основной конфиг:

sudo nano /etc/php/8.1/apache2/php.ini   # для Apache
# или
sudo nano /etc/php/8.1/fpm/php.ini       # для PHP‑FPM

И добавьте (если уже нет) строки:

extension=mbstring
extension=curl
extension=gd
extension=xml
extension=json
extension=opcache
extension=redis
extension=memcached

3.4. Перезапуск службы

sudo systemctl restart apache2   # Apache
# или
sudo systemctl restart php8.1-fpm

4. Установка на CentOS / RHEL

4.1. Добавление репозитория Remi (если ещё не добавлен)

sudo yum install https://rpms.remirepo.org/enterprise/remi-release-8.rpm
sudo yum module reset php
sudo yum module enable php:remi-8.1

4.2. Установка пакетов

sudo yum install php-mbstring php-curl php-gd \
                 php-xml php-json php-opcache \
                 php-redis php-pecl-memcached

4.3. Проверка

php -m | grep -E 'mbstring|curl|gd|xml|json|opcache|redis|memcached'

4.4. Включение в php.ini

Обычно репозиторий создаёт файлы в /etc/php.d/. Если нужно добавить вручную, отредактируйте:

sudo nano /etc/php.ini

и вставьте те же extension= строки, что и выше.

4.5. Перезапуск

sudo systemctl restart httpd   # Apache
# или
sudo systemctl restart php-fpm

5. Тонкая настройка

5.1. opcache

[opcache]
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1   ; в продакшене обычно 0

5.2. redis

Для Битрикса часто используют сессии в Redis:

session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

5.3. memcached

Альтернатива Redis для кэша запросов:

memcached.sess_locking = 1
session.save_handler = memcached
session.save_path = "127.0.0.1:11211"

6. Частые проблемы и их решения

Проблема Причина Как исправить
PHP Warning: Undefined function mb_strlen() mbstring не загружен Убедитесь, что пакет установлен и строка extension=mbstring присутствует в php.ini.
cURL error 7: Failed to connect curl отключён в php.ini Удалите disable_functions = curl_* или отключите disable_functions.
Ошибки при работе с изображениями gd отсутствует Проверьте, что в php -m есть gd. Если нет – переустановите пакет.
Fatal error: Uncaught Error: Call to undefined function json_encode() json отключён в php.ini Убедитесь, что extension=json включено.
PHP Notice: Undefined variable: _SESSION Сессии не сохраняются в Redis/Memcached Проверьте session.save_handler и session.save_path.
PHP Fatal error: Allowed memory size exhausted opcache слишком маленький Увеличьте opcache.memory_consumption до 256‑512 МБ.

7. Как проверить, что всё работает в Битриксе

  1. Откройте административную панель → Настройки → Производительность → Информация о PHP.
  2. В списке «Установленные модули» должны быть все нужные расширения.
  3. Запустите любой модуль, использующий графику (например, создание миниатюры товара). Если миниатюра появляется без ошибок – gd работает.
  4. Проверьте работу кэша: включите Кеширование в настройках и посмотрите, меняется ли время отклика в top/htop.

Практика для закрепления

  1. Установите недостающее расширение
    На тестовом сервере с Ubuntu 22.04 установите php8.1-xml, проверьте его наличие через php -m и перезапустите Apache.

  2. Настройте сессии в Redis
    Установите php8.1-redis, добавьте в php.ini строки для session.save_handler и session.save_path, перезапустите PHP‑FPM и убедитесь, что в таблице sessions в базе Битрикса появляются записи с session_id.

  3. Оптимизируйте OpCache
    Установите opcache.memory_consumption=512 и opcache.max_accelerated_files=20000. Сравните время выполнения скрипта php -r "for($i=0;$i<100000;$i++){}" до и после изменения.

  4. Отладка GD
    Напишите простой PHP‑скрипт, генерирующий PNG‑картинку с текстом «Тест». Если скрипт падает с ошибкой «gd не найден», найдите и исправьте причину.

  5. Проверка совместимости
    На сервере с CentOS 8 установите php-mbstring, php-curl и php-json. Затем выполните php -i | grep -i "configure command" и найдите, какие параметры компиляции использовались. Сравните их с рекомендациями Битрикса (см. официальную документацию).


Совет от эксперта: После каждой установки сразу проверяйте вывод php -m. Это экономит часы поиска «потерянного» расширения, когда сайт уже «запустился», но работает с ошибками.

Удачной настройки и быстрого сайта! 🚀


CamZamZam - онлайн фото с вебкамеры с эффектами
Cartoon Network: игры с персонажами
Чат рулетка в 2026: будущие функции
Эксперт по доменным стратегическим решениям
Хостинг для e-commerce проектов
Как играть в слоты
Как настроить CDN для сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как оптимизировать производительность сайта с хостингом Host.bg
Как выбрать правильный хостинг для вашего сайта
Какие бывают ЛОР болезни у детей
Кассовые терминалы с оплатой картами
LOL куклы витрина детская
Лучшие видеорегистраторы для водителей
Онлайн QR-код сканер
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Основы настройки веб-хостинга: что вам нужно знать
Партнёрская программа без блога: как получать трафик из Telegram
Профессиональные хитрости для пользователей хостинга Host.bg
Регистрация ИП в Москве для иностранных граждан
Сравнение хостинга Host.bg с другими провайдерами
Субтитры — нет, уши — включены: погружение в английский за 5 минут
Сумки с бусинами
Техника для строительства загородных трасс
ТОП-10 VPS для разработчика: рейтинг серверов под рабочие задачи
WordPress блог для бизнеса
рейтинг хостингов 2026 Быстрые VDS серверы