Наш телефон:

+7 (977) 797-50-30

Наш WhatsApp:

+7 (977) 797-50-30

Опубликовано: 15.06.2021
Веб-технолгии

Белый экран Bitrix + php-fpm

Белый экран Bitrix + php-fpm

Когда мы переводили наш сайт, и несколько клиентских сайтов на CMS Битрикс на связку nginx + php fpm мы столкнулись с проблемой белого экрана на публичной и административной части сайтов.


Версия nginx - nginx/1.20.0

Версия php - 7.4.19


Наша веб студия долго разбиралась в причинах этой проблемы, перепробовали стандартные методы по решению, но они не давали никакого результата. 


В итоге мы пошли по цепочке подключаемых файлов начиная с


/bitrix/header.php
/bitrix/modules/main/include/prolog.php
/bitrix/modules/main/include/prolog_before.php
/bitrix/modules/main/include.php

В этом файле в куске кода - 


foreach (GetModuleEvents("main", "OnPageStart", true) as $arEvent){ ExecuteModuleEventEx($arEvent);
}

Подключается модуль проактивной защиты HostRestriction, который конфликтует с сервером и выдает такую ошибку, его нельзя отключить в админке полностью, а именно это нам и необходимо. Соответственно переводим сайт в режим работы от apache, заходим в админку, переходим в консоль php и вводим следующий скрипт:


\Bitrix\Main\Loader::includeModule('security');
$hostRestriction = new \Bitrix\Security\HostRestriction;
$hostRestriction->setActive(false);
$hostRestriction->save();

Теперь вы спокойно можете переводить режим работы на nginx + php-fpm и наслаждаться быстродействием вашего сайта.


Так же интересной для отладки и решения эта проблемы была тем, что в логах не было ошибок, с помощью которых можно было определить источник.

Автор:
Денис Суббота
Технический директор, работает в web сфере более 6 лет. Full-stack Developer с 15 года. Реклама и SEO с 16 года.

Заказать разработку сайта в веб студии Atekla

Подробнее