Решение проблем при установке Битрикс на timeweb
Инструкция8 мин 55 Обновлено 5 сентября Сложность: Средняя
TL;DR
- mbstring.func_overload = 2 устарел: в PHP 8 директива удалена, нужно func_overload = 0.
- На PHP-FPM директивы php_value в .htaccess не работают – пишите в .user.ini или панель.
- max_input_vars = 10000 нужен админке Битрикса для массового сохранения данных.
- Современное ядро требует PHP 8.1+ и расширения mbstring, opcache, GD/ImageMagick.
- Старые «универсальные» вставки из интернета на PHP 8 дают ошибку 500 – не копируйте их вслепую.
При установке 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 и вывести элементы инфоблока».
Частые вопросы
Почему Битрикс раньше требовал 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, иначе часть модулей не установится.
Материалы по теме
Что почитать дальше по этой теме