Если на экране появилась ошибка:
При выполнении скрипта возникла ошибка. Включить расширенный вывод ошибок можно в файле настроек .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 пропали некоторые стили. Сделал восстановление через резервную копию. БД не восстанавливал. Теперь не могу попасть ни в админку, ни на сайт пишет: «При выполнении скрипта возникла ошибка. Включить расширенный вывод ошибок можно в файле настроек .settings.php». Помогите, пожалуйста, желательно очень подробно, так как не имею опыта работы с бэком
DaemonHK
2,2821 золотой знак15 серебряных знаков29 бронзовых знаков
задан 16 фев в 9:14
В файле /bitrix/.settings.php найдите строку 'exception_handling' =>
. Ниже находятся настройки обработки ошибок. Парой строк ниже замените 'debug' => false,
на 'debug' => true,
. После этого включится расширенный вывод ошибок, и вы увидите, где возникла проблема.
ответ дан 16 фев в 13:07
Виктор КаревВиктор Карев
1,0371 золотой знак6 серебряных знаков11 бронзовых знаков
В административном интерфейсе коробочных версий продуктов «1С-Битрикс» вы могли заметить такое уведомление:
С 01.02.2023 будет ограничена поддержка наших продуктов на PHP версии ниже 8.0. Рекомендуемая версии PHP – 8.1 или выше. Вы используете версию PHP 7.4.33. Пожалуйста, запланируйте обновление PHP или обратитесь в техническую поддержку вашего хостинга.
Почему важно обновить PHP
Версия PHP 7.х объявлена устаревшей и больше не поддерживается, для неё не выпускаются исправления функциональных ошибок и ошибок безопасности. Использование версий PHP ниже 8 крайне не рекомендовано.
Вы не сможете установить обновления коробочных версий продуктов «1С-Битрикс» для исправления ошибок и получения нового функционала, пока не обновите PHP до минимальной версии 8.0 или рекомендованной 8.1 в своем серверном окружении.
Запланируйте обновление PHP до минимальной версии 8.0 или до рекомендуемой PHP 8.1 в самое ближайшее время.
Как обновить PHP
Обновление версии PHP необходимо произвести поэтапно. Для этого обратитесь к вашему системному администратору или в техподдержку вашего хостинга.
-
Обязательно создайте резервную копию вашей установки. Это может быть как резервная копия средствами продукта, так и полностью всего сервера, например виртуальной машины VMBitrix.
-
Обновите ядро и все модули продукта до последних доступных версий в разделе Настройки > Marketplace > Обновление платформы.
-
Обновите все сторонние решения из Маркетплейса до последних доступных версий в разделе Настройки > Marketplace > Обновление решений.
-
Обновите версию PHP до минимальной 8.0 или рекомендованной 8.1 на своем сервере.
Если вы используете виртуальную машину VMBitrix, то обновить PHP можно через меню VMBitrix: 1. Manage servers in the pool — 8. Update PHP and MySQL. Подробнее читайте в отдельном курсе.
- Еще раз проверьте и установите все доступные обновления платформы и решений из Маркетплейса.
Куда обращаться в случае ошибок при обновлении версии PHP до 8.х
-
Если после обновлений PHP появятся ошибки в работе стандартных модулей продуктов «1С-Битрикс», то обратитесь в Поддержку24.
Также по модулям из Маркетплейса, в названия которых содержатся
bitrix.*
, нужно обращаться в Поддержку24, например:bitrix.eshop bitrix.sitecommunity bitrix.sitecorporate bitrix.siteinfoportal bitrix.sitepersonal bitrix.learningtemplates
-
По ошибкам в сторонних модулях из Маркетплейса обращайтесь к разработчикам модуля, их контакты указаны на странице этого модуля во вкладке «Поддержка».
Примеры частых ошибок и их решения
Возможные причины ошибок после обновления до PHP 8.х:
- До перехода на PHP 8.х не было обновлено ядро и все модули продукта до последних доступных версий в разделе Настройки > Marketplace > Обновление платформы.
- До перехода на PHP 8.х не были уставлены обновления сторонних решений (они в названии имеют точку) на странице Marketplace > Обновление решений.
- Разработчик не обновил модуль для поддержки PHP 8.
Основные действия по исправлению ошибок после обновления PHP до 8.х:
- Вернуться на предыдущую версию PHP 7.x, когда все работало, обновить компоненты системы и сторонние модули, а затем повторно обновить версию PHP до 8.х.
- Если предыдущие действия не исправили ошибки, то обратиться к разработчику модуля – смотрите раздел выше Куда обращаться в случае ошибок.
- Временно отключить модуль с ошибкой, переместив его из директории
/bitrix/modules
. - Удалить стороннее решение с ошибкой.
Стоить отметить, что в примерах даны лишь решения ошибок для конкретного модуля. Каждая ошибка должна рассматриваться разработчиком индивидуально.
[Ux11] Ошибка описания модуля «name.module». Не установлено соединение с сервером обновлений. [Ux11] Ошибка описания модуля «name.module».
Ошибка может появиться после повышения версии PHP до 8.0 и выше. Сайт при этом работает, но установить или обновить другие решения нельзя, пока сохраняется ошибка.
Решение проблемы:
Исправление в общем случае будет таким: в файле /bitrix/modules/<имя.модуля>/install/index.php
код:
function <имя.модуля>()
заменить на:
function __construct()
При выполнении скрипта возникла ошибка. Включить расширенный вывод ошибок можно в файле настроек .settings.php.
Решение проблемы:
Подключиться по FTP/SFTP или зайти в панель хостинга, включить вывод ошибок в файле /bitrix/.settings.php
:
'debug' => true,
После чего на сайте будет выведен текст ошибки:
Пример ошибки
Non-static method SuperFunctionsCSuperModRep::checkBack() cannot be called statically (0) /home/bitrix/modules/super.mod/lib/functions/CSuperModRep.php:52 #0: SuperFunctionsCSuperModRep::checkRepActive() /home/bitrix/modules/super.mod/classes/general/CModEvents.php:1621 #1: CModEvents::OnPageStartHandler() /home/bitrix/modules/main/classes/general/module.php:480 #2: ExecuteModuleEventEx(array) /home/bitrix/modules/main/include.php:163 #3: require_once(string) /home/bitrix/modules/main/include/prolog_before.php:14 #4: require_once(string) /home/bitrix/modules/main/include/prolog.php:10 #5: require_once(string) /home/bitrix/header.php:1 #6: require(string) /home/index.php:1
В примере видно, что ошибку отдает сторонний метод CSuperModRep::checkBack()
решения super.mod.
Исправление в общем случае будет таким: в коде checkBack()
нужно правильно объявить статическую функцию:
function checkBack()
заменить на:
public static function checkBack()
PHP Fatal error: $GLOBALS can only be modified using the $GLOBALS[$name] = $value syntax in /www/bitrix/modules/main/tools.php
Данная ошибка может появиться после повышения версии PHP до 8.x в случае, если не были установлены все доступные обновления платформы на версии PHP 7.x.
Решение проблемы:
Эта ошибка была исправлена в обновлении главного модуля main 22.100.0
.
Поэтому необходимо понизить версию PHP до 7.x, произвести обновление продукта и модулей до последней доступной версии. И только потом повысить версию PHP до 8.х.
[TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method COMPBXEEventHandlers::AdminContextMenuShow() cannot be called statically (0)…
Эта ошибка может появиться после повышения версии PHP до 8, но уже не очень очевидна:
Пример ошибки
[TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method COMPBXEEventHandlers::AdminContextMenuShow() cannot be called statically (0) /var/www//bitrix/modules/main/classes/general/module.php:480 #0: ExecuteModuleEventEx /var/www/bitrix/modules/main/interface/admin_ui_list.php:1983 #1: CAdminUiContextMenu->Show /var/www/bitrix/modules/main/interface/admin_ui_list.php:1168 #2: CAdminUiList->ShowContext /var/www/bitrix/modules/main/interface/admin_ui_list.php:630 #3: CAdminUiList->DisplayFilter /var/www/bitrix/modules/iblock/admin/iblock_element_admin.php:5217 #4: include(string) /var/www/bitrix/admin/cat_product_admin.php:3
Из текста ошибки сразу не узнать директорию модуля, но данный метод COMPBXEEventHandlers::AdminContextMenuShow()
принадлежит стороннему модулю.
Решение проблемы:
Исправление в общем случае будет таким: в коде AdminContextMenuShow()
нужно правильно объявить статическую функцию:
function AdminContextMenuShow()
заменить на:
public static function AdminContextMenuShow()
Белый экран после повышения версии PHP до 8.х, а на PHP 7.4 все работает
Такая ошибка может быть из-за того, что в настройках PHP установлен параметр short_open_tag = Off
.
Решение проблемы:
- Нужно задать в конфигурационном файле PHP:
short_open_tag = On
. - Проверить логи веб-сервера на предмет ошибок и устранить их.
- Также можно просмотреть ошибки на странице сайта с белым экраном: нажать правую кнопку мыши и выбрать Просмотр кода страницы, пролистать страницу вниз и проверить имеются ли ошибки на ней.
Спасибо, помогло!
Спасибо
Это не то, что я ищу
Написано очень сложно и непонятно
Есть устаревшая информация
Слишком коротко, мне не хватает информации
Мне не нравится, как это работает
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»
Включил расширенный режим и увидел
[BitrixMainDBSqlQueryException]
Mysql query error: Table 'u0037701_klassika.b_sale_bizval_code_1C' doesn't exist (400)
SEL ECT
`sale_internals_business_value_code1_c`.`PERSON_TYPE_ID` AS `PERSON_TYPE_ID`,
`sale_internals_business_value_code1_c`.`CODE_INDEX` AS `CODE_INDEX`,
`sale_internals_business_value_code1_c`.`NAME` AS `NAME`
FR OM `b_sale_bizval_code_1C` `sale_internals_business_value_code1_c`
ORDER BY `sale_internals_business_value_code1_c`.`CODE_INDEX` ASC
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/main/lib/db/mysqlconnection.php:116
#0: BitrixMainDBMysqlConnection->queryInternal(string, array, NULL)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/main/lib/db/connection.php:329
#1: BitrixMainDBConnection->query(string)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/main/lib/entity/query.php:1821
#2: BitrixMainEntityQuery->query(string)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/main/lib/entity/query.php:454
#3: BitrixMainEntityQuery->exec()
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/main/lib/entity/datamanager.php:242
#4: BitrixMainEntityDataManager::getList(array)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/sale/lib/businessvalue.php:1150
#5: BitrixSaleBusinessValueConsumer1C::getConsumers()
#6: call_user_func_array(array, array)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/main/classes/general/module.php:475
#7: ExecuteModuleEventEx(array)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/sale/lib/businessvalue.php:334
#8: BitrixSaleBusinessValue::getConsumers()
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/sale/general/pay_system_action.php:830
#9: CAllSalePaySystemAction::getParamsByConsumer(string, string)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/sale/general/pay_system_action.php:362
#10: CAllSalePaySystemAction->InitParamArrays(array, integer, string, array, array)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/components/bitrix/sale.order.ajax/class.php:4406
#11: SaleOrderAjax->showOrderAction()
#12: call_user_func(array)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/components/bitrix/sale.order.ajax/class.php:4298
#13: SaleOrderAjax->doAction(string)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/components/bitrix/sale.order.ajax/class.php:4517
#14: SaleOrderAjax->executeComponent()
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/main/classes/general/component.php:585
#15: CBitrixComponent->includeComponent(string, array, boolean)
/var/www/u0037701/data/www/klassika.megamir38.ru/bitrix/modules/main/classes/general/main.php:1035
#16: CAllMain->IncludeComponent(string, string, array, boolean)
/var/www/u0037701/data/www/klassika.megamir38.ru/personal/payment/index.php:77
Чему был очень удивлен, так как использую стандартный компонент с стандартным шаблоном и к кастомизации еще не успел приступить, может кто то сможет для начинающего разраба пояснить в чем суть проблемы?