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

Порой на сайте разработанном на 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");

 

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

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



2 комментария

  • Ivan:

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

  • 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.
    Собственно этого хватило.

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

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