Перейти к содержанию
Инструкция

Решение проблем при установке Битрикс на timeweb

Установка 1С-Битрикс на shared-хостинг спотыкается о параметры PHP: mbstring, max_input_vars, отображение ошибок. Разбираем актуальные для PHP 8.x требования и способы их поправить – через .user.ini, .htaccess или панель хостинга.

Обновлено 22 июля 8 минут чтения

При установке 1С-Битрикс мастер сначала прогоняет предварительную проверку окружения, а после установки то же делает раздел Настройки → Инструменты → Проверка системы. Чаще всего установка спотыкается не о код, а о параметры PHP, которые на shared-хостинге вроде Timeweb заданы «по умолчанию» и не совпадают с требованиями CMS. Ниже – что именно проверяет Битрикс в 2026 году на PHP 8.x, почему старые советы из интернета могут навредить и как править настройки, когда сайт работает через PHP-FPM, а не mod_php.

Главное изменение: mbstring.func_overload больше не нужен

В старых инструкциях (для PHP 5.x–7.1) советовали выставлять mbstring.func_overload = 2. Это устаревший и теперь вредный совет. Директива mbstring.func_overload объявлена устаревшей в PHP 7.2 и полностью удалена в PHP 8.0. Современный Битрикс на PHP 8.1–8.3 требует обратного:

  • mbstring.func_overload = 0 – перегрузка строковых функций должна быть выключена;
  • расширение mbstring должно быть установлено и включено (это отдельное требование, не путать с func_overload);
  • mbstring.internal_encoding отдельно задавать не нужно – эта директива тоже удалена, кодировку задаёт default_charset = UTF-8.

Если вы копируете старый блок из чужого .htaccess со строкой php_value mbstring.func_overload 2 на сервер с PHP 8 – вы получите ошибку 500 на весь сайт, потому что PHP не знает такой директивы. Первым делом удалите её.

Куда писать настройки PHP: .htaccess, .user.ini или панель

Способ правки зависит от того, как хостинг запускает PHP. Это ключевой момент, из-за которого «рабочий» совет не срабатывает у другого человека.

  • mod_php (PHP как модуль Apache) – настройки через php_value и php_flag в .htaccess. Сегодня встречается всё реже.
  • PHP-FPM / CGI / FastCGIphp_value в .htaccess не работает и сам по себе тоже даёт ошибку 500. Настройки задают в файле .user.ini в корне сайта либо в панели хостинга.

Timeweb в большинстве тарифов использует PHP-FPM, поэтому надёжнее всего менять параметры в панели управления (раздел выбора версии и настроек PHP) или через .user.ini. Пример .user.ini в корне сайта:

mbstring.func_overload = 0
default_charset = "UTF-8"
display_errors = On
max_input_vars = 10000
pcre.backtrack_limit = 1000000
pcre.recursion_limit = 100000

Изменения в .user.ini подхватываются не мгновенно – PHP кеширует файл на время user_ini.cache_ttl (по умолчанию 300 секунд). Если правка «не видна» – подождите 5 минут или сбросьте пул FPM через панель.

Вариант для mod_php (.htaccess)

Если хостинг всё же работает на mod_php, те же параметры пишут так – с защитой через IfModule, чтобы файл не ронял сайт на другом окружении:

<IfModule mod_php.c>
    php_value mbstring.func_overload 0
    php_value default_charset "UTF-8"
    php_flag display_errors On
    php_value max_input_vars 10000
</IfModule>

Ошибка «max_input_vars должно быть не ниже 10000»

Эту ошибку показывает уже пост-установочная Проверка системы. Битриксу нужно много переменных в одном запросе – например, при массовом сохранении настроек инфоблоков или прав доступа. Значение по умолчанию (1000) для админки мало. Решение – выставить max_input_vars = 10000 тем же способом, что и остальные директивы (см. выше), и повторить проверку.

Актуальные требования Битрикс к PHP в 2026

  • Версия PHP: современные редакции ядра требуют PHP 8.1 и выше; проверьте, что в панели выбрана поддерживаемая версия, а не PHP 7.x.
  • Расширения: mbstring, zip, GD или ImageMagick, json, mysqli, opcache, а также подключённый zend_opcache.
  • Память: memory_limit от 256M (для установки и обновлений лучше 512M).
  • Загрузка файлов: согласуйте upload_max_filesize и post_max_size – второе должно быть не меньше первого.
  • display_errors держите включённым только на этапе установки и отладки; на боевом сайте ошибки должны писаться в лог, а не показываться посетителям.

Почему это работает и типичные ошибки

  • Не тот файл настроек. Правите .htaccess, а хостинг на FPM – изменения игнорируются или роняют сайт. Сначала выясните режим PHP (в панели или через phpinfo(), строка Server API).
  • Копирование устаревших блоков. Старые «универсальные» вставки с func_overload 2 и internal_encoding на PHP 8 дают 500-ю ошибку.
  • Кеш .user.ini. Ждёте мгновенного эффекта, а изменения подхватятся только через TTL кеша.
  • Права на .htaccess. Если директива запрещена настройкой AllowOverride на сервере, панель или техподдержка хостинга – единственный путь.

Кодировка файлов и UTF-8 – частый спутник таких проблем: если исходники сайта в другой кодировке, поможет гайд «Узнать и изменить кодировку файла в mac». После установки пригодятся и заметки по работе с выводом данных инфоблоков – например, «Вывод блоков только на определённых страницах» и «Получить ID из GET и вывести элементы инфоблока».

Частые вопросы

Почему Битрикс раньше требовал mbstring.func_overload = 2, а теперь 0?

Директива func_overload объявлена устаревшей в PHP 7.2 и удалена в PHP 8.0. Современное ядро Битрикса работает без перегрузки строковых функций, поэтому требует значение 0. Строка func_overload на PHP 8 вызывает ошибку 500.

Я добавил php_value в .htaccess, но получил ошибку 500. В чём дело?

Скорее всего хостинг запускает PHP как FPM или CGI, а не mod_php. В этом режиме php_value в .htaccess не поддерживается. Задавайте параметры в файле .user.ini в корне сайта или в панели хостинга.

Как узнать, в каком режиме работает PHP на моём хостинге?

Создайте временный файл с вызовом phpinfo() и посмотрите строку Server API: FPM/FastCGI означает PHP-FPM, Apache 2.0 Handler – mod_php. После проверки файл удалите.

Изменил .user.ini, но настройки не применились. Почему?

PHP кеширует .user.ini на время user_ini.cache_ttl, по умолчанию 300 секунд. Подождите 5 минут или перезапустите пул PHP-FPM через панель хостинга.

Какая версия PHP нужна для установки Битрикс в 2026 году?

Современные редакции ядра требуют PHP 8.1 и выше. Убедитесь, что в панели хостинга выбрана поддерживаемая версия, а не PHP 7.x, иначе часть модулей не установится.

Валентина Меланина

Хотите обсудить свой проект?

Помогу с разработкой, аналитикой и AI-видимостью вашего сайта

Если у вас есть задача — от внедрения разметки и аналитики до полной переработки сайта — напишите, обсудим объём и подход.