При установке 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 / FastCGI –
php_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 и вывести элементы инфоблока».