Порой на сайте разработанном на 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
Основные причины появления белого экрана
- Кривое редактирование
/bitrix/php_interface/init.php
: ошибки, лишний пробел после?>
- Такая же проблема с белым экраном возникла после переноса на другой сервер.
- Проверить настройку PHP —
short_open_tag
, которая должна быть в On. - Не хватает оперативной памяти(
memory_limit
по умолчанию 128). Проблема решается следующим образом. Заходим в/bitrix/php_interface/dbconn.php
. Редактируемini_set("memory_limit", "512M");
Если вы сталкивались с этой проблемой пишите в комментариях, как её решили.
Если белый экран вознинкает после переноса. То мне помогл закоментить настройки memcached в файле .setting_extra.php
Спасибо добрый человек!
Помогли ответить на вопрос:
ob_start(): Cannot use output buffering in output buffering display handlers (0)
видимо произошло обновление файла 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. — где это можно сделать?
Спасибо
Здравствуйте, Александр, попробуйте создать /bitrix/php_interface/init.php
short_open_tag это настройка в конфиге php на вашей машине.
на убунту например надо тут искать /etc/php/7.4/ (поменяйтие 7.4
на версию php , которую используете)