|
Пользователь 256622 Посетитель Сообщений: 98 |
Всем добрый день. Знающие люди подскажите как отключить Расширенный вывод ошибок |
|
Пользователь 145903 Заглянувший Сообщений: 8 |
Попробуйте в файле /bitrix/.settings.php элемент массива ‘debug’ => true выставить в значение false |
|
Пользователь 256622 Посетитель Сообщений: 98 |
Спасибо,помогло. в техподдержку написал. Ответ был таким же |
|
Пользователь 78692 Заглянувший Сообщений: 6 |
Огромное спасибо — сработало! |
|
Пользователь 4755305 Заглянувший Сообщений: 1 |
|
|
Пользователь 231375 Посетитель Сообщений: 50 |
#6 0 21.11.2020 02:36:37
Пути увидят и взломают ламера. |
||
Bitrix Framework имеет ряд специфичных настроек ядра, которые не имеют визуального интерфейса редактирования. Этот подход вызван тем, что изменение настроек или ошибка в них легко могут привести к неработоспособности системы (настройки подключения к базе данных, настройки кеширования и т.д.).
Настройки в новом ядре выполняются в файле /bitrix/.settings.php. В старом ядре аналогичные настройки выполнялись в файле /bitrix/php_interface/dbconn.php. Файл .settings.php структурно сильно отличается от прежнего dbconn.php.
В Битрикс параллельно используются 2 ядра — старое и новое, соответственно, оба файла настроек используются одновременно. Поэтому необходимо производить настройки обоих файлов.
Даже если используется код только старого ядра, то файл .settings.php должен быть создан. Возможна ситуация, когда при установке обновлений какой-то из встроенных механизмов системы будет переписан на новое ядро. Если этот файл корректно не настроен, то это может привести к неработоспособности системы.
Иногда бывают ситуации, что файл .settings.php отсутствует. Его можно создать в автоматическом режиме, если выполнить в командной строке:
BitrixMainConfigConfiguration::wnc();
Если на экране появилась ошибка
При выполнении скрипта возникла ошибка. Включить расширенный вывод ошибок можно в файле настроек .settings.php
то открываем файл .settings.php
'exception_handling' => array ( 'value' => array ( 'debug' => false, // изменяем значение на true 'handled_errors_types' => 20853, 'exception_errors_types' => 20853, 'ignore_silence' => false, 'assertion_throws_exception' => true, 'assertion_error_type' => 256, 'log' => array ( 'settings' => array ( 'file' => NULL, 'log_size' => NULL, ), ), ), 'readonly' => false, ),
находим debug и заменяем false на true. В результате чего на экране будет подробное описание ошибки:
[Error]
Class 'Assets' not found (0)
D:worklocalhost11wwwlocaltemplatesvoguis_indexheader.php:17
#0: include_once
D:worklocalhost11wwwbitrixmodulesmainincludeprolog_after.php:96
#1: require(string)
D:worklocalhost11wwwbitrixmodulesmainincludeprolog.php:11
#2: require_once(string)
D:worklocalhost11wwwbitrixheader.php:1
#3: require(string)
D:worklocalhost11wwwindex.php:2
Поиск:
.settings.php • CMS • PHP • Web-разработка • Битрикс • Ошибка • .settings.php • dbconn.php • debug • Настройка • Ядро
Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Если на экране появилась ошибка:
При выполнении скрипта возникла ошибка. Включить расширенный вывод ошибок можно в файле настроек .settings.php
Открываем файл .settings.php находим debug и заменяем false на true:
'exception_handling' =>
array (
'value' =>
array (
'debug' => false, // изменяем значение на true
'handled_errors_types' => 20853,
'exception_errors_types' => 20853,
'ignore_silence' => false,
'assertion_throws_exception' => true,
'assertion_error_type' => 256,
'log' =>
array (
'settings' =>
array (
'file' => NULL,
'log_size' => NULL,
),
),
),
'readonly' => false,
),
В результате чего на экране будет подробное описание ошибки:
[Error]
Class 'Assets' not found (0)
D:worklocalhost11wwwlocaltemplatesvoguis_indexheader.php:17
#0: include_once
D:worklocalhost11wwwbitrixmodulesmainincludeprolog_after.php:96
#1: require(string)
D:worklocalhost11wwwbitrixmodulesmainincludeprolog.php:11
#2: require_once(string)
D:worklocalhost11wwwbitrixheader.php:1
#3: require(string)
D:worklocalhost11wwwindex.php:2
Bitrix(d7). File .settings.php API
Настройки могут задаваться в файле .settings.php и .settings_extra.php. Базовый файл настроек содержит неизменные настройки,
к которым есть API. Файл .settings_extra.php может содержать произвольный код, который меняет настройки динамически.
Соответственно к нему нет API.
Кодировка
Пример:
/*Отвечает за кодиорвку*/ 'utf_mode' => array ( 'value' => true, 'readonly' => true, ),
readonly— ключ означает, что нельзя изменить значение через API.value—true, если используетсяutfиfalseв обратном случае.
Если задана другая кодировка (не UTF-8):
/*Отвечает за кодиорвку*/ 'utf_mode' => array ( 'value' => false, 'readonly' => true, ),
value—false, то есть не используется UTF-8
/*Отвечает за кодиорвку по умолчанию*/ 'default_charset' => array ( 'value' => 'cp866', 'readonly' => false, ),
value— указание кодировки по умолчанию
Кэширование
Пример:
/*Отвечает за кэширование*/ 'cache' => array ( 'value' => array ( 'type' => 'memcache', /*memcache, apc, xcache, files, none*/ 'sid' => '', 'memcache' => array ( 'host' => '127.0.0.1', ), ), 'readonly' => false, ),
- Подробнее о настройке кэширвоания
- Подробнее о подключении собственного типа кэширвоания
Так же доступных специальные флаги для кэширования опций модулей:
/*Время кэширования в секундах*/ 'cache_flags' => array ( 'value' => array ( 'config_options' => 3600, 'site_domain' => 3600, ), 'readonly' => false, ),
readonly— ключ означает, что нельзя изменить значение через API.site_domain— Время кэширования куки в секундахconfig_options— Время кэширования опций модулей в секундах
Обработка ошибок
Пример:
'exception_handling' => array ( 'value' => array ( 'debug' => false, 'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE, 'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING & ~E_DEPRECATED, 'ignore_silence' => false, 'assertion_throws_exception' => true, 'assertion_error_type' => 256, 'log' => array ( 'settings' => array ( 'file' => 'bitrix/modules/error.log', 'log_size' => 1000000, ), ), ), 'readonly' => false, ),
readonlyключ означает, что нельзя изменить значение через API.debug— Ключ отвечает за то, будет ли выведена ошибка на страницу в браузере.handled_errors_types— Tипы ошибок, которые система отлавливает.exception_errors_types— Типы ошибок, при которых система выбрасывает исключение.ignore_silence— Ключ отменяет действие оператора управления ошибками (@).log— В ключе задаются параметры логирования ошибок.assertion_throws_exception— Включить поддержку assertassertion_error_type— Какие типы ошибок обрабатывать для assert
Если в корне сайта лежит файл error.php и выключен вывод ошибок на экран, то этот файл будет подключен в случае возникновения необработанного исключения.
Логирование
Пример:
'log' => array ( 'settings' => array ( 'file' => 'bitrix/modules/error.log', 'log_size' => 1000000, ), ),
readonlyключ означает, что нельзя изменить значение через API.file— Путь к файлу лога относительно корневой папки сайта.log_size— Максимальный размер файла лога в байтах.
Пример:
'log' => array( 'class_name' => 'MyLog', 'extension' => 'MyLogExt', 'required_file' => 'modules/mylog.module/mylog.php' 'settings' => array( ), ),
class_name— Имя класса (с указанием namespace).extension— PHP расширение необходимое для исползования.required_file— Файл, который необходим дляиспользования (например автозагрузка).settings— массив настроек.
Пример использования своего собственного логера (в качестве примера взят monolog-adapter):
return array( 'exception_handling' => array( 'value' => array( 'log' => array( 'class_name' => 'BexMonologExceptionHandlerLog', 'settings' => array( 'logger' => 'app' ), ), ), 'readonly' => false ), 'monolog' => array( 'value' => array( 'handlers' => array( 'default' => array( 'class' => 'MonologHandlerStreamHandler', 'level' => 'DEBUG', 'stream' => '/path/to/logs/app.log' ), 'feedback_event_log' => array( 'class' => 'BexMonologHandlerBitrixHandler', 'level' => 'DEBUG', 'event' => 'TYPE_FOR_EVENT_LOG', 'module' => 'vendor.module' ), ), 'loggers' => array( 'app' => array( 'handlers'=> array('default'), ), 'feedback' => array( 'handlers'=> array('feedback_event_log'), ) ) ), 'readonly' => false ) );
- Подробнее об адаптере для одной из самых мощных и популярных библиотек для логирования (для 1С-Битрикс)
- Подробнее библиотеке Monolog
Соединения с базами данных
/*Отвечает за соединения с базами данных*/ 'connections' => array ( 'value' => array ( 'default' => array ( 'className' => 'BitrixMainDBMysqlConnection', 'host' => '', 'database' => '', 'login' => '', 'password' => '', 'options' => 2, 'handlersocket' => array ( 'read' => 'fast' ), ), ), 'fast' => array ( 'className' => 'BitrixNameDataHsphpReadConnection', 'host' => 'localhost:31006', ), 'readonly' => true, ),
readonlyключ означает, что нельзя изменить значение через API.className— имя класса, которое отвечает за работу с базой данных.host— хост, для соединения с базой данныхdatabase— имя базы данныхpassword— пароль к базе данныхhandlersocket— указывается какое соединение использовать. Необходимо создать подключение, где будут указаны класс и хостoptions— параметры соединения, например 1 — постоянное соединение, 2 — простое соединение, 3 — это оба:
'options' => ((!defined("DBPersistent") || DBPersistent) ? 1 : 0) | ((defined("DELAY_DB_CONNECT") && DELAY_DB_CONNECT === true) ? 2 : 0)
Обычное соединение устанавливается каждый раз во время выполнения страницы при первом обращении к базе данных. Установленное соединение освобождается (в большинстве случаев и закрывается) после завершения страницы.
Постоянное соединение (функции PHP обычно называются *_pconnect) устанавливается один раз при первом обращении к базе данных и при повторных обращениях, даже из других страниц, используются уже открытые соединения к базе данных.
default — база данных используемая по умолчанию, можно задать несколько соединений с базами данных, затем использовать в проекте разные соединения.
Рекомендуется вместо BitrixMainDBMysqlConnection использовать BitrixMainDBMysqliConnection
Обращение к другим соединениям с базами данных:
/* connection_name - имя соединения, указанное в .settings.php. /* Bitrix использует соединение по умолчанию default */ $connection = BitrixMainApplication::getConnection('connection_name');
Подробнее о базах данных в 1С — Битрикс
Дополнительно
/*Отключение сброса кэша, для решения некоторых проблем с php Zend Optimizer+*/ 'no_accelerator_reset' => array ( 'value' => false, 'readonly' => false, ),
Применение данной настрйоки я не нашёл за исключением решения проблем с php Zend Optimizer+
/*Установка константы BX_HTTP_STATUS используется в Configuration::wnc*/ 'http_status' => array ( 'value' => true, 'readonly' => false, ),
Применение данной настройки находится в методе, который формирует файл .settings.php (Configuration::wnc), так же в фигуриует в методе CHTTP:SetStatus()
Ссылки по теме
Bitrix
- Документация
- Скрипт для настроек
- Базы данных
Bitrix-expert
- «Битрикс» и PSR-3
Bxapi.ru
- BitrixMainConfigConfiguration
- BitrixMainConfigConfiguration::getInstance()
- BitrixMainConfigConfiguration::get()
- BitrixMainConfigConfiguration::add()
- BitrixMainConfigConfiguration::saveConfiguration()
Git
- Monolog adapter for Bitrix CMS
- Подробнее библиотеке Monolog
PHP
- extension_loaded
Если у вас на сайте произошла ошибка, но она не отображается и выводиться надпись о том, что ошибки нужно включить в файле .settings.php, то значит они у вас отключены в этом файле.

Включить их просто, для этого надо собственно открыть этот файл по FTP или через функционал Битрикс по следующему пути в админке битрикс
Рабочий стол->Контент->Структура сайта->Файлы и папки->bitrix
Здесь представлен многомерный массив данных, ключ-значение. Это основные настройки вашего сайта на битриксе.
Что бы включить отображение ошибок находим строку ‘debug’ которая находится внутри ‘exception_handling’->’value’ и ставим ей значение true вместо false.
Что бы настроить какие именно ошибки мы хотим отображать в ключе ‘exception_errors_types’ указываем код ошибок, например 29687, но он мало понятен, поэтому лучше использовать в значение данного ключа константы через пробел:
‘handled_errors_types’ => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED,
Здесь мы перечислили все ошибки, предупредения и тд. Если нужно вывести только ошибки, то остальные константы можно просто убрать, поскольку уведомление
Загрузка
Блог «Дивасофт»
23 января 2017, Михаил
В файле bitrix/.settings.php
<?php
'exception_handling' =>
array (
'value' =>
array (
'debug' => true,
'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE & ~E_DEPRECATED,
'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING,
'ignore_silence' => false,
'assertion_throws_exception' => true,
'assertion_error_type' => 256,
'log' =>
array (
'settings' =>
array (
'file' => 'bitrix/err.log',
'log_size' => 1000000,
),
),
),
'readonly' => false,
)
?>
Логи будут в файле bitrix/err.log
![]()
Сообщение от lephin

Вообщем я еще день по сижу над этим Битриксом, и в топку этот движок для людей, которые не хотят учить код и программирование
Небольшое занудное замечание. Все CMS, включая Битрикс, рассчитаны на два варианта взаимодействия:
1. Не хочешь или не умеешь программировать и верстать — пользуйся всеми стандартными фишками и дизайнами. Они вполне работоспособны. Если чего то не хватает — мирись
2. готов программировать и верстать — пользуйся всеми стандартными фишками и дизайнами. и доратывай то что нужжно
Нет ни одного движка в котором можно нифига не умея. Сделать вообще все что угодно. (например аналдог google.com одним нажатием кнокпи)
Добавлено через 9 минут
![]()
Сообщение от lephin

Вот мой сайт: Как мы видим папка лежит там где надо. Почему не происходит загрузка картинок?
На все вопросы ты мне так и не ответил.
Что ж небольшой ликбез по PHP и вебстроительству и, от части Битрикс.
Когда ты обращаешься к своему сайту по адресу: http://moy-site.ru/page1/
В общем случае вызывается файл /page1/index.php и для браузера все пути строятся относительно каталога /page1/.
файл header.php по сути это кусок кода который инклудится во все файлы проекта (где это необходимо) в т.ч. /page1/index.php (и так работают все движки) т.е. по сути ты именно в /page1/index.php пишешь <img src=»picture/some.gif»> (так работает инклуд файлов в PHP). Т.е. браузер ищет картинку по пути /page1/picture/some.gif
о чем наверняка в инструментах разработчика браузера тебе пишут красным цветом (т.к. 404 ошибка)
таким образом, зная что header.php подключается в любой файл (где необходимо) не зависимо от расположения относительно корня, то в пути в нем (в html участках) необходимо задавать абсолютные
таким образом в header.php должны пути выглядеть так
| PHP/HTML | ||
|
И это верно для любых движков. это относится ку базовым знаниям вебразработки. Пожалуйста, внимательно прочитай и усвой статью, ссылку на которую я дал выше. (там вообще очень полезный сайт)
Добавлено через 1 минуту
Ни когда не путай относительный путь между файлами в рамках файловой системы, и относительный путь между файлами в понимании вебсервера.
Добавлено через 3 минуты
При этом, предвосхищая вопрос. файл template_styles.css подключается имеенно из этого каталога, по этому внутри него относительные пути к тем же картинкам выглядят именно как и в файловой системе
| CSS | ||
|