Белый экран в Битрикс

Порой на сайте разработанном на 1с Битрикс вместо контента появляется белый экран. Были случаи появления чистого экрана после авторизации в админке.

Методы выявление ошибки

1. В файле .htaccess включаем вывод ошибок:

php_value display_errors 1
php_value error_reporting 7

2. В файле /bitrix/php_interface/dbconn.php:

$DBDebug = true;

3. Смотреть лог ошибок (error log) веб-сервера (апач, файл error_log ).

4. В файле /bitrix/.settings.php установить

'debug' => true

5. Проверить содержимое переменной $_SERVER["DOCUMENT_ROOT"]. Там должен быть установлен корректный путь, иначе  не подключаются файлы системы.

6. Запустить скрипт проверки системы на соответствия требованиям для стабильной работы 1с Битрикс bitrix_server_test.php

Основные причины появления белого экрана

  1. Кривое редактирование  /bitrix/php_interface/init.php: ошибки, лишний пробел после ?>
  2. Такая же проблема с белым экраном возникла после переноса на другой сервер.
  3.  Проверить настройку PHP — short_open_tag, которая должна быть в On.
  4.  Не хватает оперативной памяти( memory_limit по умолчанию 128). Проблема решается следующим образом. Заходим в /bitrix/php_interface/dbconn.php . Редактируем ini_set("memory_limit", "512M");

 

Если вы сталкивались с этой проблемой пишите в комментариях, как её решили.

Рекомендуем к прочтению



5 комментариев

  • Ivan:

    Если белый экран вознинкает после переноса. То мне помогл закоментить настройки memcached в файле .setting_extra.php

    • Ярослав:

      Спасибо добрый человек!
      Помогли ответить на вопрос:
      ob_start(): Cannot use output buffering in output buffering display handlers (0)

  • 111:

    видимо произошло обновление файла php.ini, может вместе с обновлением php — что там было раньше сказать трудно но если начнете делать бекапы, то все будет лучше.

    Собственно вся проблема началась с того, что php.ini не использовал короткие теги «<?" решил так —
    php.ini:198 short_open_tag = On; add on tags @kuryaev
    Заработал php, перестал отдавать код php по http.

    Дальше — пошла ошибка подключения к базе. Проверил сервер базы — все ок. Значит не подключается сокет. Пошел в php.ini и там прописал сокеты и хост
    1124 mysqli.default_socket = /var/lib/mysqld/mysqld.sock ;add sock @kuryaev
    1128 mysqli.default_host = 127.0.0.1 ;add 127.0.0.1 @kuryaev
    1132 mysqli.default_user = bitrix0 ;add bitrix0 @kuryaev
    Потом подрихтовал переменные на предмет корректных требований bitrix24
    12 @ini_set("memory_limit", "512M"); //add M char @kuryaev — тут поставил явно мегабайты, их небыло
    /etc/php.ini | grep kuryaev
    402 max_input_vars = 10000; add max_input_vars = 10000 @kuryaev — тут увеличил с 1000 до 10000, требование битрикс24.
    Собственно этого хватило.

  • Александр:

    Всем привет.
    Понадобилось изучить Битрикс для поддержки корпоративного сайта. Скачал VMWare машину, запустил, победил ошибку «Удалите устаревший параметр mbstring.func_overload», обновив и саму виртуалку, и PHP.
    Однако, после запуска и успешной установки, регулярно получаю этот пресловутый белый лист.
    Почитал эту статью, отредактировал файлы, дабы включить ведение логов.
    Файла /bitrix/php_interface/init.php в папке вообще нет. Насколько это критично?
    Проверить настройку PHP — short_open_tag, которая должна быть в On. — где это можно сделать?
    Спасибо

    • php программист:

      Здравствуйте, Александр, попробуйте создать /bitrix/php_interface/init.php

      short_open_tag это настройка в конфиге php на вашей машине.
      на убунту например надо тут искать /etc/php/7.4/ (поменяйтие 7.4
      на версию php , которую используете)

Оставить комментарий

Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания применять.

Срок проверки reCAPTCHA истек. Перезагрузите страницу.