Устанавливаем 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. Это экономит часы поиска «потерянного» расширения, когда сайт уже «запустился», но работает с ошибками.

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


Английский видеочат для путешествий
Чат рулетка 2026: Интерактивные элементы
Чат-рулетка: случайный собеседник в одно нажатие
Чат с Аней: Моё общение
Этикетки для упаковки и доставки
Как настроить бэкапы для вашего сайта на хостинге Host.bg
Как обновить PHP на хостинге Host.bg
Как решить проблемы с загрузкой сайта на Host.bg
Калькулятор зарплаты SEO-оптимизатора
Курска: автошколы с бесплатной консультацией
Лайфхаки для управления хостингом на Host.bg
Монетизация через платные услуги
Мск: ИП или ООО — лучший старт для бизнеса?
Общение в интернете без риска
Ошибки при настройке хостинга и их решения
Проблемы с доменами и их решения на хостинге Host.bg
Продвижение сайтов: поисковое продвижение + ИИ
Ремонт квартир с использованием норм
Roblox: игровая культура
Сайтостроение: основы и секреты
Сколько стоит биткоин
Сравнение ценовых диапазонов хостинга Host.bg
Трубная продукция для трубопроводных конструкций
Утепление в Твери и Брянской области
Vdsina: Великая сила
Видео рулетка 18+
Видеочат с случайным собеседником онлайн
Видеообщения по всему миру
Выбор оптимального плана хостинга на Host.bg
рейтинг хостингов 2026 Быстрые VDS серверы