При установке сайта на Битрикс на сервер с PHP 7.1 и выше сталкиваемся со следующей проблемой: в административном интерфейсе отваливается стартовый рабочий стол.
Битрикс оповещает об этом следующим экраном:
Идем в файл .settings.php, который находится в 16+ версии в следующей локации:
/bitrix/.settings.php
В конфиг-файле включаем вывод ошибок:
'exception_handling' => array ( 'value' => array ( 'debug' => false,
После этого обновляем страницу административного интерфейса и видим вот это:
Таким образом, Битрикс хочет нам сказать, что у него возникла проблема несовместимости при обработке текстовых переменных в следующих скриптах:
[Error] [] operator not supported for strings (0) /var/www/alkc/data/www/alkc/bitrix/modules/main/classes/general/checklist.php:476 #0: CCheckListResult::GetList(array, array) /var/www/alkc/data/www/alkc/bitrix/modules/main/classes/general/checklist.php:52 #1: CCheckList->__construct() /var/www/alkc/data/www/alkc/bitrix/gadgets/bitrix/admin_checklist/index.php:17 #2: include(string) /var/www/alkc/data/www/alkc/bitrix/components/bitrix/desktop/include.php:105 #3: BXGadget::GetGadgetContent(array, array) /var/www/alkc/data/www/alkc/bitrix/components/bitrix/desktop/component.php:823 #4: include(string) /var/www/alkc/data/www/alkc/bitrix/modules/main/classes/general/component.php:548 #5: CBitrixComponent->__includeComponent() /var/www/alkc/data/www/alkc/bitrix/modules/main/classes/general/component.php:600 #6: CBitrixComponent->includeComponent(string, array, boolean) /var/www/alkc/data/www/alkc/bitrix/modules/main/classes/general/main.php:1035 #7: CAllMain->IncludeComponent(string, string, array, boolean, array) /var/www/alkc/data/www/alkc/bitrix/modules/main/interface/desktop.php:35 #8: require(string) /var/www/alkc/data/www/alkc/bitrix/admin/index.php:2
Чтобы исправить эту несовместимость идем по следующим адресам:
/bitrix/modules/iblock/classes/general/iblockproperty.php, здесь ищем 20 строку и в ней исправляем:
Было:
$arSqlSearch = "";
Стало:
$arSqlSearch = [];
Теперь идем в: /bitrix/modules/main/classes/general/checklist.php и вносим исправления здесь на 472 строчке, выполняем все так же:
Было:
$arSqlWhere = "";
Стало:
$arSqlWhere = [];
Ура! Все заработало.
Comments are closed.