Переход на php 8 битрикс ошибка

При обновлении php выше чем 7.4 сайт не запускается и отдает такую ошибку: Код [TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method JivoSiteClass::addScriptTag() cannot be called statically (0) /home/bitrix/www/bitrix/modules/main/classes/general/module.php:480 #0: ExecuteModuleEventEx    /home/bitrix/www/bitrix/modules/main/include.php:159 #1: require_once(string)...
 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#26

0

09.01.2023 21:44:32

Цитата
написал:

Цитата
написал:
Порылся в модулях, я правильно понимаю что ошибка в главных модулях самого битрикса?

Неправильно.  

Цитата
написал:
non-static method CLSGeneralCLSIBlockEvent::onAfterIBlockElementUpdate()

Обратитесь к разработчику модуля, это кастом.

хм.. не видел там такого модуля… пороюсь еще.

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#27

0

10.01.2023 06:35:52

Нашел этот модуль, которым не пользовался даже. Не жалко убрать. Все равно разработчик забросил его уже.

 

Пользователь 164664

Посетитель

Сообщений: 37
Баллов: 5
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 08.02.2013

#28

0

10.01.2023 17:49:21

Обновили ядро Битрикс, все классно вроде.. Настройки ПХП на хостинге проверили все ок, переключили на Php 8.
Публичка за исключением одного шаблона и подвала сайта работает (подвал исчез как и карточка товара), но это ладно поправимо. НО, о чем можно говорить если в родную битриксовую /bitrix — админку попасть не получается, выдает ошибки в ядре

https://skr.sh/sHp9nLfOfPV?a

из принципа и логики копаться в ядре не станем, куда разработчики смотрят то???? что это за дилетантский подход, выдавать предупреждение «срочно переходите на 8 до февраля» а самим так лажать?

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#29

0

10.01.2023 20:39:18

Цитата
написал:
Обновили ядро Битрикс, все классно вроде.. Настройки ПХП на хостинге проверили все ок, переключили на Php 8.
Публичка за исключением одного шаблона и подвала сайта работает (подвал исчез как и карточка товара), но это ладно поправимо. НО, о чем можно говорить если в родную битриксовую /bitrix — админку попасть не получается, выдает ошибки в ядре  https://skr.sh/sHp9nLfOfPV?a
из принципа и логики копаться в ядре не станем, куда разработчики смотрят то???? что это за дилетантский подход, выдавать предупреждение «срочно переходите на 8 до февраля» а самим так лажать?

Я тоже думал что дело в самом битриксе… у вас таже проблема что и у меня. просто не работает какой то модуль

 

Пользователь 911623

Заглянувший

Сообщений: 7
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 21.01.2020

#30

0

10.01.2023 23:09:05

Код
[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method CIBlockPropertyCProp::GetUserTypeDescription() cannot be called statically (0)
/var/www/domain/data/www/domain.ru/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/var/www/domain/data/www/domain.ru/bitrix/modules/iblock/classes/general/iblockproperty.php:1011
#1: CAllIBlockProperty::GetUserType(string)
/var/www/domain/data/www/domain.ru/bitrix/modules/iblock/classes/general/iblockelement.php:5572
#2: CAllIBlockElement::GetPropertyValuesArray(array, string, array)
/var/www/domain/data/www/domain.ru/bitrix/components/bitrix/news.list/component.php:383
#3: include(string)
/var/www/domain/data/www/domain.ru/bitrix/modules/main/classes/general/component.php:607
#4: CBitrixComponent->__includeComponent()
/var/www/domain/data/www/domain.ru/bitrix/modules/main/classes/general/component.php:684
#5: CBitrixComponent->includeComponent(string, array, boolean, boolean)
/var/www/domain/data/www/domain.ru/bitrix/modules/main/classes/general/main.php:1062
#6: CAllMain->IncludeComponent(string, string, array, boolean)
/var/www/domain/data/www/domain.ru/index.php:1120

А у меня так . Выдает на блоке с компонентом news.list

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#31

1

11.01.2023 07:05:54

Цитата
написал:
GetUserTypeDescription

Смотрите что у вас здесь

Код
/var/www/domain/data/www/domain.ru/index.php:1120

Вообще у вас ведет к этому методу

https://dev.1c-bitrix.ru/api_help/iblock/classes/user_properties/GetUserTypeDescri­ption.php

. Ищите что за пользовательское свойство сбоит.
Код шаблона проверьте, т.к. сейчас если указать вызов без кавычек, уже будет критошибка. $arRow[UF_NAME]. Гдето пропустили например, и на php 7.4 работало, а на 8.х это уже смертный грех

 

Пользователь 523041

Заглянувший

Сообщений: 9
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 16.03.2016

#32

0

11.01.2023 10:16:56

Цитата
написал:
Обновили ядро Битрикс, все классно вроде.. Настройки ПХП на хостинге проверили все ок, переключили на Php 8.
Публичка за исключением одного шаблона и подвала сайта работает (подвал исчез как и карточка товара), но это ладно поправимо. НО, о чем можно говорить если в родную битриксовую /bitrix — админку попасть не получается, выдает ошибки в ядре  https://skr.sh/sHp9nLfOfPV?a
из принципа и логики копаться в ядре не станем, куда разработчики смотрят то???? что это за дилетантский подход, выдавать предупреждение «срочно переходите на 8 до февраля» а самим так лажать?

Даже и без принципа не стоит копаться.
Просто удалите модуль рекапчи из-за которого возникает проблема, и все заработает.

 

Пользователь 911623

Заглянувший

Сообщений: 7
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 21.01.2020

#33

0

11.01.2023 10:55:49

Цитата
Евгений Уразов написал:
Код шаблона проверьте, т.к. сейчас если указать вызов без кавычек, уже будет критошибка. $arRow[UF_NAME]. Гдето пропустили например, и на php 7.4 работало, а на 8.х это уже смертный грех

Странно все. Не понимаю. Дело даже не в шаблоне компонента.

Код
      "PROPERTY_CODE" => array(
         0 => "PROP_CMS",
         1 => "PROP_VIDY_RABOT",
         2 => "PROP_LINK",
         3 => "",
      ),

если убрать PROPERTY_CODE то компонент работает но соответственно нет данных из этих полей.
Далее, переходим к редактированию в админке инфоблока данного или элементов то вываливается ошибка уже в админке.
Свойства стандартные, файлы и строки.
:D

Код
/var/www/domain/data/www/domain.ru/index.php:1120

А здесь компонент news.list. конкретно на данной строке false. В общем все стандартно,

Код
      "SORT_BY1" => "ACTIVE_FROM",
      "SORT_BY2" => "SORT",
      "SORT_ORDER1" => "DESC",
      "SORT_ORDER2" => "ASC",
      "STRICT_SECTION_CHECK" => "N",
      "COMPONENT_TEMPLATE" => "portfolio"
   ),
   false
);?>

Замена шаблона на стандартный тоже не решает проблему, так что не в кавычках дело.

 

Евгений Жуков

Администратор

Сообщений: 9036
Баллов: 1747
Авторитет:

8

Рейтинг пользователя:

39

Регистрация: 05.08.2005

Epic fail — сказать «это так просто» и не суметь сделать

#34

0

11.01.2023 11:33:53

Цитата
написал:
non-static method CIBlockPropertyCProp::GetUserTypeDescription

Кастомный класс свойства инфоблока

Не надо сверлить зубы через задний проход дрелью от Сваровски

 

Пользователь 911623

Заглянувший

Сообщений: 7
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 21.01.2020

#35

0

11.01.2023 12:58:16

Цитата
написал:
Кастомный класс свойства инфоблока

Да. Нашел модуль кастомый. Отключил. Спасибо! В общем судя по всему с переходом на 8 половина модулей и решений в маркетплейсе работать не будут, тем более, на многие разработчики давно забили.

 

Пользователь 5399508

Заглянувший

Сообщений: 7
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 06.07.2021

#36

0

12.01.2023 14:01:25

Добрый день, при переходе на 8.1 выдает ошибку

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method SlamcountersEvent::OnBeforePrologHandler() cannot be called statically (0)
/sites/domain.ru/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/sites/domain.ru/bitrix/modules/main/include.php:456
#1: require_once(string)
/sites/domain.ru/bitrix/modules/main/include/prolog_admin_before.php:34
#2: require_once(string)
/sites/domain.ru/bitrix/modules/main/admin/settings.php:16
#3: require_once(string)
/sites/domain.ru/bitrix/admin/settings.php:2

Можете подсказать, что нужно исправить, чтобы сайт загрузился?

P.S.
на 7.4 грузится отлично

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#37

0

12.01.2023 14:28:32

Цитата
написал:
Добрый день, при переходе на 8.1 выдает ошибку

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method SlamcountersEvent::OnBeforePrologHandler() cannot be called statically (0)
/sites/domain.ru/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/sites/domain.ru/bitrix/modules/main/include.php:456
#1: require_once(string)
/sites/domain.ru/bitrix/modules/main/include/prolog_admin_before.php:34
#2: require_once(string)
/sites/domain.ru/bitrix/modules/main/admin/settings.php:16
#3: require_once(string)
/sites/domain.ru/bitrix/admin/settings.php:2

Можете подсказать, что нужно исправить, чтобы сайт загрузился?

P.S.
на 7.4 грузится отлично

Уже не раз тут это обсуждалось. Удалите кастомный модуль и все заработает

 

Пользователь 5399508

Заглянувший

Сообщений: 7
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 06.07.2021

#38

0

12.01.2023 14:29:56

Цитата
написал:

Цитата
написал:
Добрый день, при переходе на 8.1 выдает ошибку

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method SlamcountersEvent::OnBeforePrologHandler() cannot be called statically (0)
/sites/domain.ru/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/sites/domain.ru/bitrix/modules/main/include.php:456
#1: require_once(string)
/sites/domain.ru/bitrix/modules/main/include/prolog_admin_before.php:34
#2: require_once(string)
/sites/domain.ru/bitrix/modules/main/admin/settings.php:16
#3: require_once(string)
/sites/domain.ru/bitrix/admin/settings.php:2

Можете подсказать, что нужно исправить, чтобы сайт загрузился?

P.S.
на 7.4 грузится отлично

Уже не раз тут это обсуждалось. Удалите кастомный модуль и все заработает

Можете сказать какой именно модуль можно удалить. Я тут не совсем разбираюсь.

Прикрепленные файлы

Управление модулями.jpg (451.82 КБ)

Настройки модуля.jpg (211.24 КБ)

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#39

0

12.01.2023 14:32:38

Цитата
написал:
SlamcountersEvent

Видимо этот. Пользуйтесь поиском =)

https://marketplace.1c-bitrix.ru/solutions/slam.counters/#tab-comments-link

 

Пользователь 5399508

Заглянувший

Сообщений: 7
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 06.07.2021

#40

0

12.01.2023 14:39:34

Цитата
написал:

Цитата
написал:
SlamcountersEvent

Видимо этот. Пользуйтесь поиском =)
https://marketplace.1c-bitrix.ru/solutions/slam.counters/#tab-comments-link

Удалил и даже стер его из системы, но все равно ошибка
[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method ErrorSendMD::ErrorSendOnProlog() cannot be called statically (0)
/sites/domain.ru/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/sites/domain.ru/bitrix/modules/main/classes/general/main.php:3454
#1: CAllMain::PrologActions()
/sites/domain.ru/bitrix/modules/main/include/prolog_admin_before.php:47
#2: require_once(string)
/sites/domain.ru/bitrix/modules/main/admin/repair_db.php:13
#3: require_once(string)
/sites/domain.ru/bitrix/admin/repair_db.php:2

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#41

0

12.01.2023 14:42:05

Цитата
написал:
method ErrorSendMD::ErrorSendOnProlog

Потому что другой модуль уже. У вас там есть модуль «Сообщить об ошибке» может быть он, но лучше сначала сами файлы посмотрите

Вообще у вас много сторонних модулей, готовьтесь что много чего удалить придется, либо требуйте от разработчиков оптимизации под php8

 

Пользователь 5399508

Заглянувший

Сообщений: 7
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 06.07.2021

#42

0

12.01.2023 14:56:19

Цитата
написал:

Цитата
написал:
method ErrorSendMD::ErrorSendOnProlog

Потому что другой модуль уже. У вас там есть модуль «Сообщить об ошибке» может быть он, но лучше сначала сами файлы посмотрите

Вообще у вас много сторонних модулей, готовьтесь что много чего удалить придется, либо требуйте от разработчиков оптимизации под php8

Все модули на которые ругался удалил, но теперь на самом сайте появились ошибки.

[Error]
Undefined constant «ID» (0)
/sites/domain.ru/bitrix/templates/yaprodam/include/spec.php:38
#0: require
/sites/domain.ru/index.php:20

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#43

0

13.01.2023 07:02:00

Цитата
написал:

Цитата
написал:
 

Цитата
написал:
method ErrorSendMD::ErrorSendOnProlog

 Потому что другой модуль уже. У вас там есть модуль «Сообщить об ошибке» может быть он, но лучше сначала сами файлы посмотрите

Вообще у вас много сторонних модулей, готовьтесь что много чего удалить придется, либо требуйте от разработчиков оптимизации под php8

Все модули на которые ругался удалил, но теперь на самом сайте появились ошибки.

[Error]
Undefined constant «ID» (0)
/sites/domain.ru/bitrix/templates/yaprodam/include/spec.php:38
#0: require
/sites/domain.ru/index.php:20

Ну опять же это надо смотреть что у вас в этих файлах.. номера строк есть

 

Пользователь 3152861

Заглянувший

Сообщений: 2
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 30.04.2019

#44

0

13.01.2023 08:54:23

Добрый день! При обновлении php с версии 7.4.21 до 8.1 выходят ошибки, подскажите что нужно переделать

После обновления сайт не доступен, ошибок со стороны сервера не фиксируются.

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method CallibriIncludeScriptMain::appendScriptsToPage() cannot be called statically (0)
/home/bitrix/www/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array, array)
/home/bitrix/www/bitrix/modules/main/classes/general/main.php:3160
#1: CAllMain->EndBufferContent(string)
/home/bitrix/www/bitrix/modules/main/classes/general/main.php:3137
#2: CAllMain->EndBufferContentMan()
/home/bitrix/www/bitrix/modules/main/include/epilog_after.php:46
#3: require(string)
/home/bitrix/www/bitrix/modules/main/include/epilog.php:3
#4: include(string)
/home/bitrix/www/bitrix/modules/main/classes/general/main.php:314
#5: CAllMain->AuthForm(boolean)
/home/bitrix/www/bitrix/modules/main/include.php:516
#6: require_once(string)
/home/bitrix/www/bitrix/modules/main/include/prolog_before.php:14
#7: require_once(string)
/home/bitrix/www/index.php:8

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#45

0

13.01.2023 10:49:13

Цитата
написал:
Добрый день! При обновлении php с версии 7.4.21 до 8.1 выходят ошибки, подскажите что нужно переделать

После обновления сайт не доступен, ошибок со стороны сервера не фиксируются.

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method CallibriIncludeScriptMain::appendScriptsToPage() cannot be called statically (0)
/home/bitrix/www/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array, array)
/home/bitrix/www/bitrix/modules/main/classes/general/main.php:3160
#1: CAllMain->EndBufferContent(string)
/home/bitrix/www/bitrix/modules/main/classes/general/main.php:3137
#2: CAllMain->EndBufferContentMan()
/home/bitrix/www/bitrix/modules/main/include/epilog_after.php:46
#3: require(string)
/home/bitrix/www/bitrix/modules/main/include/epilog.php:3
#4: include(string)
/home/bitrix/www/bitrix/modules/main/classes/general/main.php:314
#5: CAllMain->AuthForm(boolean)
/home/bitrix/www/bitrix/modules/main/include.php:516
#6: require_once(string)
/home/bitrix/www/bitrix/modules/main/include/prolog_before.php:14
#7: require_once(string)
/home/bitrix/www/index.php:8

Почитайте предыдущие сообщения. Везде одно и тоже. У вас сбоит Скрипт Калибри.

https://www.bitrix24.ru/apps/app/callibri.bitrix24site/

 

Пользователь 6537570

Посетитель

Сообщений: 29
Баллов: 4
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 10.10.2022

#46

1

14.01.2023 19:51:40

После перехода на 8-ю версию такая ошибка в корзине и в некоторых разделах:

Код
[TypeError] 
in_array(): Argument #2 ($haystack) must be of type array, null given (0)
/home/bitrix/www/local/templates/yuumpk/components/bitrix/menu/left.menu.yuumpk/result_modifier.php:20
#0: in_array
   /home/bitrix/www/local/templates/yuumpk/components/bitrix/menu/left.menu.yuumpk/result_modifier.php:20
#1: include(string)
   /home/bitrix/www/bitrix/modules/main/classes/general/component_template.php:947
#2: CBitrixComponentTemplate->__IncludeMutatorFile
   /home/bitrix/www/bitrix/modules/main/classes/general/component_template.php:854
#3: CBitrixComponentTemplate->IncludeTemplate
   /home/bitrix/www/bitrix/modules/main/classes/general/component.php:776
#4: CBitrixComponent->showComponentTemplate
   /home/bitrix/www/bitrix/modules/main/classes/general/component.php:716
#5: CBitrixComponent->includeComponentTemplate
   /home/bitrix/www/bitrix/components/bitrix/menu/component.php:403
#6: include(string)
   /home/bitrix/www/bitrix/modules/main/classes/general/component.php:607
#7: CBitrixComponent->__includeComponent
   /home/bitrix/www/bitrix/modules/main/classes/general/component.php:105
#8: CBitrixComponent->executeComponent
   /home/bitrix/www/bitrix/modules/main/classes/general/component.php:660
#9: CBitrixComponent->includeComponent
   /home/bitrix/www/bitrix/modules/main/classes/general/main.php:1062
#10: CAllMain->IncludeComponent
   /home/bitrix/www/local/templates/yuumpk/header.php:409
#11: include_once(string)
   /home/bitrix/www/bitrix/modules/main/include/prolog_after.php:107
#12: require(string)
   /home/bitrix/www/bitrix/modules/main/include/prolog.php:11
#13: require_once(string)
   /home/bitrix/www/bitrix/header.php:1
#14: require(string)
   /home/bitrix/www/korzina/index.php:1

Прикладываю файл result_modifier:

Код
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?><?//BitrixMainDiagDebug::dump($arResult);?>
<? foreach ($arResult as $value) {
    if ($value['SELECTED']) {
        //BitrixMainDiagDebug::dump($value['LINK']);
        //$arParentCodes[] = substr($value['LINK'], 0, strrpos($value['LINK'], '/', -2)+1);
        $arParentCodes = trim(str_replace('/', ' ', $value['LINK']));
        $arParentCodes = explode(' ', (trim(str_replace('/', ' ', $value['LINK']))));
        unset($arParentCodes[0]);
        //BitrixMainDiagDebug::dump($arParentCodes);
        foreach ($arParentCodes as $code) {
            $pos = strpos($value['LINK'], $code);
            //BitrixMainDiagDebug::dump($pos);
            $parentLink[] = substr($value['LINK'], 0, $pos);
        }
        //BitrixMainDiagDebug::dump($parentLink);
    }
}
foreach($arResult as $key => $item) {
    if (in_array($item['LINK'], $parentLink)){
        $arResult[$key]['SELECTED'] = true;
    }
}

Какие файлы следует еще приложить?

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#47

0

14.01.2023 23:17:39

Цитата
написал:
   if (in_array($item[‘LINK’], $parentLink)){

$parentLink выдает массив?

Замените массив со значением null пустым массивом. (конечно, только когда он равен нулю)

Почитайте еще это.

https://www.php.net/manual/ru/function.in-array.php

 

Пользователь 22203

Эксперт

Сообщений: 520
Баллов: 86
Авторитет:

0

Рейтинг пользователя:

1

Регистрация: 12.03.2008

#48

0

15.01.2023 05:54:54

Цитата
написал:
https://www.brekot.ru/blog/1s-bitriks-i-php-8/

Реально помогло! Спасибо Вам огромное!!!

 

Пользователь 5138403

Заглянувший

Сообщений: 1
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 30.06.2022

#49

0

15.01.2023 13:50:36

Тоже получил ошибку после обновления до 8 версии php.
Куда копать подскажите?

или в край как  выпилить этот модуль, если нет доступа на сайт через админку?

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a  valid callback, non-static method  CCRMBPViewClass::CRMBPViewStartFunction() cannot be called statically  (0)
/home/bitrix/www/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/home/bitrix/www/bitrix/modules/main/include.php:163
#1: require_once(string)
/home/bitrix/www/bitrix/modules/main/include/prolog_before.php:14
#2: require_once(string)
/home/bitrix/www/bitrix/modules/main/include/prolog.php:10
#3: require_once(string)
/home/bitrix/www/bitrix/header.php:1
#4: require(string)
/home/bitrix/www/stream/index.php:2
———-

 

Пользователь 3918986

Посетитель

Сообщений: 54
Баллов: 9
Авторитет:

0

Рейтинг пользователя:

0

Регистрация: 27.02.2020

#50

0

15.01.2023 16:40:59

Цитата
написал:
CCRMBPViewClass

Вспоминайте что ставили из модулей. Если доступа нет в админку из-за этой ошибки, то только править через сервер в файлах напрямую. Либо, верните обратно версию php 7.4 и найдите этот модуль через админку. А дальше либо удалите, либо исправьте как выше предлагали по ссылке

https://www.brekot.ru/blog/1s-bitriks-i-php-8/

Мы компания Сотбит – разработчики B2B платформ и маркетплейсов на 1С-Битрикс и Битрикс24. Наши решения являются лучшими в своём сегменте не только за счёт постоянно развивающегося широкого функционала, но и своевременной отзывчивой технической поддержки.

Виталий Долженко

Нужно развивать e-commerce!

Мы прикладываем все усилия, чтобы работа клиентов с продуктами Сотбит была как можно удобнее и эффективнее. Если же всё-таки появляются какие-либо нюансы, они оперативно решаются компетентными специалистами.

И сейчас пользователи 1С-Битрикс столкнулись с проблемой, связанной с переводом Битрикс на PHP 8. Разумеется, мы не могли оставить эту ситуацию без внимания, поэтому решили выпустить полезный материал, в котором рассмотрим вопрос и дадим рекомендации по его грамотному решению.

Итак, начнём.

В чём проблема?С недавнего времени на всех сайтах под управлением Битрикс появилась следующее уведомление:«С 01.02.2023 будет ограничена поддержка наших продуктов на PHP версии ниже 8.0. Рекомендуемая версия PHP — 8.1 и выше. Вы используете версию PHP 7.4.33. Пожалуйста, запланируйте обновление PHP или обратитесь в службу технической поддержки вашего хостинга.»Это означает, что пользователям необходимо повысить версию PHP на своём сервере минимум до версии 8.0. В противном случае установка дальнейших обновлений для сайта будет невозможна.Решение есть!Чтобы помочь клиентам правильно осуществить обновление виртуальной машины Битрикс и перейти на новую версию PHP, мы подготовили небольшой гайд, в котором по пунктам изложим, какие действия нужно предпринять для безболезненного перевода.Давайте ознакомимся с ним:

  • Проверить работоспособность сайта с PHP 8 на отдельном тестовом сервере;
  • Выполнить резервное копирование сайта;
  • Обновить до последней версии все модули Сотбит;
  • Обновить ядро платформы 1С-Битрикс;
  • Проверить совместимость доработок с PHP 8;
  • Повысить PHP до версии 8.0-8.1.

1. Проверить работоспособность сайта с PHP 8 на отдельном тестовом сервере

Основополагающее действие, которым многие пренебрегают. Мы настоятельно рекомендуем вам сперва перенести сайт на тестовый хостинг или отдельный сервер и проверить корректность работы установленных модулей, решений и кастомизаций.

2. Выполнить полное резервное копирование сайта

Необходимый пункт, который выполняется перед каждым обновлением вне зависимости от его масштаба.

3. Обновить до последней версии все модули Сотбит

Если вы являетесь активным пользователем модулей Сотбит, но уже давно не приобретали их продления, то сейчас у вас появился отличный повод обновить решения до последнее версии, совместимой с PHP 8. Заодно вы внесёте большой вклад в дальнейшее развитие и улучшение наших продуктов.Обращаем внимание, что, если вы являетесь пользователем платформ B2B кабинет или Оригами, вам понадобится обновить не только основное решение, но и все модули, входящие в его поставку.

4. Обновить ядро платформы 1С-Битрикс

Здесь действует тот же принцип, что и в предыдущем пункте. Актуализируйте версию продукта и будьте уверены в работоспособности вашей системы при переводе.

5. Проверить совместимость доработок с PHP 8

Если на вашем проекте имеются доработки или новый функционал, предварительно нужно проверить правильность их работы на тестовом сервере и при необходимости внести корректировки в соответствии с требованиями PHP 8.

6. Повысить PHP до версий 8.0-8.1

Финальный штрих перед установкой обновления на основном сайте. Версии PHP 8.0-8.1 доступны, начиная с версии виртуальной машины Битрикс 7.5.0.Отдельно отметим, что при выполнении этих шагов ошибки могут возникать в решениях сторонних разработчиков. После того, как вы обновите модули и ядро 1С-Битрикс и убедитесь в корректности работы кастомизаций на тестовом сайте, можно смело устанавливать обновления на боевом ресурсе.

Резюме

Таким образом, теперь наши клиенты получили детальную инструкцию, как правильно осуществить перевод виртуальной машины Битрикс на PHP 8. Установите обновление и продолжайте дальше успешно пользоваться нашими модулями и решениями.

Если у возникли вопросы по статье, техподдержка к вашим услугам. Техподдержка Сотбит – одна из лучших среди партнёров 1С-Битрикс. Вам не придётся ждать ответа сутками. Поэтому смело обращайтесь к нам – компания Сотбит обязательно поможет!

Желаем успешного перехода!

При смене версии php на 8.0, 8.1 нарушается работа множества функций. С чем это связано и как правильно переехать?

Битрикс предупреждает, что поддержка продуктов на версии ниже 8.0 прекратится 1 февраля 2023 года.


  • Вопрос задан

    23 дек. 2022

  • 1545 просмотров

Пригласить эксперта

При переходе много косяков именно со сторонними решениями, особенно если не куплено продление или модуль заброшен. Некоторые общие ошибки описал здесь https://www.brekot.ru/blog/1s-bitriks-i-php-8/ Возможно кому поможет разобраться.

У меня тоже начала не заработало, точнее сайт и админка открывались, но как будто без стилей и графики.
В исходном коде была ошибка:

Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, 
non-static method CSiteTagmanager::AddSiteTagmanagerBuf() cannot be called statically in
/var/www/u1648871/data/www/site.com/bitrix/modules/main/classes/general/module.php:480

Удалил модуль «TagManager. Сервисы Аналитики (concept.tagmanager)» — и все заработало.


  • Показать ещё
    Загружается…

12 февр. 2023, в 08:56

14000 руб./за проект

12 февр. 2023, в 02:07

2000 руб./за проект

12 февр. 2023, в 00:06

1000 руб./в час

Минуточку внимания

С начала 2023 года 1С Битрикс уведомляют о необходимости перевода сайтов на версии PHP 8+, если текущая система работает на версиях PHP ниже 8.
В пошаговой инструкции представлена вся необходимая информация для проведения процедуры перехода.

Если не перейти на версию PHP 8

Поддержка 1С Битрикс на версиях PHP ниже 8.0 будет ограничена с 01.02.2023 г.

Система 1С Битрикс может продолжать работать на версиях до PHP 8, но в этом случае обновление ядра может стать невозможным, также как общая безопасность системы будет снижена. Уязвимости связанные с устаревшей версией ядра 1С Битрикс могут стать причиной неработоспособности системы.

Что требуется для перехода на PHP 8

  • Действующая лицензия 1С Битрикс;
  • Свежая резервная копия сайта включающая файловую систему и базы данных (резервные копии создаются автоматически на ежедневной основе и действуют для тарифных планов линеек “Стандартный”, “Интернет-магазинам”, “Enterprise (B24)” и “Anti-DDOS”, иные типы хостинга, такие как VPS и выделенные серверы не предусматривают бесплатного резервного копирования средствами хостинга);
  • Проверка наличия обновлений установленных решений и модулей, которые должны поддерживать работу на версиях PHP 8+;

В рамках панели ISPmanager доступны различные версии PHP, начиная от 5.6 до 8.2

Можно ли заказать переход силами технической поддержки хостинга?

Нет. Пояснение:
Процесс напрямую связан с программным кодом каждого конкретного сайта, сторонних модулей, решений и их особенностей, а также истории разработки и иных доработок о которых служба поддержки хостинга не может знать, также как хостинг-компания не занимается разработкой и доработкой сайтов.

Процедура перехода на новую версию PHP должна выполняться опытным пользователем систем 1С Битрикс или специализированным разработчиком.

Что следует учесть

В случае, если система 1С Битрикс кастомизирована в части установленных решений, дополнительных модулей и тем оформления, то после переключения версии на PHP 8+ могут возникнуть ошибки приводящие к полной или частичной потере работоспособности функционала.

Вернуться к предыдущей версии PHP можно в любой момент через панель ISPmanager.

Процедура изменения версии PHP

  1. Убедитесь, что имеется свежая резервная копия системы, включающая файлы и базы данных:

  2. Убедитесь, что на хостинге достаточно свободного места (требуется от 1 гб свободного пространства). Если пространства не хватает, то следует заказать дополнительное дисковое пространство или сменить тариф на более старший:

  3. Выполнение перехода на новую версию PHP следует выполнять в нерабочее время т.к. в процессе могут возникать ошибки и отказ работы узлов системы.
  4. Проверьте наличие обновлений дополнительных (сторонних) модулей и решений поддерживающих версии PHP 8+ в разделе “Marketplace” (Маркетплейс).
  5. Обновите систему SiteUpdate, ядро, дополнительные модули и решения в панели администрирования сайта (админка Битрикс) в разделе “Marketplace” (Маркетплейс). Фактически, потребуется запустить и выполнить все доступные обновления.
  6. После проверьте работу сайта в части внешнего состояния и работы функций. Если ранее какие-либо файлы ядра или модули были кастомизированы (патч), то после обновления эти изменения будут удалены, что может повлиять на работу функционала сайта.
  7. Если работа сайта нарушена — обратитесь к разработчику сайта или в поддержку 1С Битрикс. Поддержка хостинга не распространяется на исправление ошибок кастомизированного кода (в т.ч. патчей).
  8. В панели хостинга (ISPmanager) в разделе “Сайты” или “WWW-домены” выберите нужный сайт и нажмите кнопку “Изменить”. В блоке “Обработчик (PHP)” измените версию PHP на 8.0 (рекомендуется на момент публикации статьи) или 8.1.

  9. После проверьте работу сайта в части внешнего состояния и работы функций, например: администраторская панель, каталоги, продукты, обмен с 1С и другими внешними сервисами/продуктами.
  10. Если ранее было включено выполнение агентов на cron и другие функции (скрипты или агенты) запускаемые средствами cron, то потребуется изменить задания в разделе “Планировщик CRON” в панели управления хостингом. Изменить часть строки содержащую ранее работающую версию PHP, например /opt/php74/bin/php на новую версию PHP, допустим 8.0: /opt/php80/bin/php для версии PHP 8.1: /opt/php81/bin/php

  11. Далее в разделе “Настройки PHP” панели управления хостингом требуется проверить параметр sendmail_path. Для этого выберите текущую версию PHP из списка (например, 8.0) и нажмите кнопку “Расширенные настройки” и выберите строку с параметром sendmail_path. Справа от значения параметра нажмите на иконку редактирования. В строке укажите: /usr/sbin/sendmail -t -i -f ваш_адрес@ваш_почтовый_домен

    Важно: интерфейс панели хостинга ISPmanager может отличаться в данном разделе настроек PHP, поэтому рекомендуем также ознакомиться с материалами из статьи по настройке sendmail_path в более раннем интерфейсе ISPmanager.

  12. Комплексная проверка внешней части системы, работы интерфейса.
  13. Комплексная проверка администраторской части системы.
  14. Комплексная проверка функционирования всех узлов системы.
     

Уважаемые пользователи и партнёры 1С-Битрикс, компания Сотбит приветствует вас!

Мы выходим в наш блог в немного экстренном формате, чтобы поделиться полезными рекомендациями по крайне злободневному вопросу – перевод Битрикс на PHP 8.

Перевод Битрикс на PHP 8. Инструкция по правильной реализации

Мы компания Сотбит – разработчики B2B платформ и маркетплейсов на 1С-Битрикс и Битрикс24. Наши решения являются лучшими в своём сегменте не только за счёт постоянно развивающегося широкого функционала, но и своевременной отзывчивой технической поддержки.

Мы прикладываем все усилия, чтобы  работа клиентов с продуктами Сотбит была как можно удобнее и эффективнее. Если же всё-таки появляются какие-либо нюансы, они оперативно решаются компетентными специалистами. 

И сейчас пользователи 1С-Битрикс столкнулись с проблемой, связанной с переводом Битрикс на PHP 8. Разумеется, мы не могли оставить эту ситуацию без внимания, поэтому решили выпустить полезный материал, в котором рассмотрим вопрос и дадим рекомендации по его грамотному решению.

Итак, начнём.

В чём проблема?

С недавнего времени на всех сайтах под управлением Битрикс появилась следующее уведомление:
«С 01.02.2023 будет ограничена поддержка наших продуктов на PHP версии ниже 8.0. Рекомендуемая версия PHP — 8.1 и выше. Вы используете версию PHP 7.4.33. Пожалуйста, запланируйте обновление PHP или обратитесь в службу технической поддержки вашего хостинга.»

Это означает, что пользователям необходимо повысить версию PHP на своём сервере минимум до версии 8.0. В противном случае установка дальнейших обновлений для сайта будет невозможна.

Решение есть!

Чтобы помочь клиентам правильно осуществить обновление виртуальной машины Битрикс и перейти на новую версию PHP, мы подготовили небольшой гайд, в котором по пунктам изложим, какие действия нужно предпринять для безболезненного перевода.

Давайте ознакомимся с ним:

  1. Проверить работоспособность сайта с PHP 8 на отдельном тестовом сервере;
  2. Выполнить резервное копирование сайта;
  3. Обновить до последней версии все модули Сотбит;
  4. Обновить ядро платформы 1С-Битрикс;
  5. Проверить совместимость доработок с PHP 8;
  6. Повысить PHP до версии 8.0-8.1.

1. Проверить работоспособность сайта с PHP 8 на отдельном тестовом сервере

Основополагающее действие, которым многие пренебрегают. Мы настоятельно рекомендуем вам сперва перенести сайт на тестовый хостинг или отдельный сервер и проверить корректность работы установленных модулей, решений и кастомизаций.

2. Выполнить полное резервное копирование сайта

Необходимый пункт, который выполняется перед каждым обновлением вне зависимости от его масштаба.

3. Обновить до последней версии все модули Сотбит

Если вы являетесь активным пользователем модулей Сотбит, но уже давно не приобретали их продления, то сейчас у вас появился отличный повод обновить решения до последнее версии, совместимой с PHP 8. Заодно вы внесёте большой вклад в дальнейшее развитие и улучшение наших продуктов.

Обращаем внимание, что, если вы являетесь пользователем платформ B2B кабинет или Оригами, вам понадобится обновить не только основное решение, но и все модули, входящие в его поставку.

4. Обновить ядро платформы 1С-Битрикс

Здесь действует тот же принцип, что и в предыдущем пункте. Актуализируйте версию продукта и будьте уверены в работоспособности вашей системы при переводе.

5. Проверить совместимость доработок с PHP 8

Если на вашем проекте имеются доработки или новый функционал, предварительно нужно проверить правильность их работы на тестовом сервере и при необходимости внести корректировки в соответствии с требованиями PHP 8.

6. Повысить PHP до версий 8.0-8.1

Финальный штрих перед установкой обновления на основном сайте. Версии PHP 8.0-8.1 доступны, начиная с версии виртуальной машины Битрикс 7.5.0.

Отдельно отметим, что при выполнении этих шагов ошибки могут возникать в решениях сторонних разработчиков. После того, как вы обновите модули и ядро 1С-Битрикс и убедитесь в корректности работы кастомизаций на тестовом сайте, можно смело устанавливать обновления на боевом ресурсе.

Резюме

Таким образом, теперь наши клиенты получили детальную инструкцию, как правильно осуществить перевод виртуальной машины Битрикс на PHP 8. Установите обновление и продолжайте дальше успешно пользоваться нашими модулями и решениями.

Если у возникли вопросы по статье, техподдержка к вашим услугам. Техподдержка Сотбит – одна из лучших среди партнёров 1С-Битрикс. Вам не придётся ждать ответа сутками. Поэтому смело обращайтесь к нам – компания Сотбит обязательно поможет!

Желаем успешного перехода!

Содержание

  1. Не устанавливается последняя версия PHP на BitrixVM
  2. Этап 1. Обновите BitrixEnv до последней стабильной версии
  3. Этап 2. Перейдите на beta-версию BitrixEnv
  4. Этап 3. Обновите версию PHP
  5. Ошибка при обновлении php до 8

Не устанавливается последняя версия PHP на BitrixVM

BitrixVM — полностью настроенный виртуальный сервер, который адаптирован для работы с продуктами 1С-Битрикс. Его можно установить самостоятельно или воспользоваться VPS с готовым образом на сайте REG.RU.

BitrixEnv — окружение, которое находится внутри BitrixVM. Оно помогает устанавливать всё необходимое ПО и оптимизирует настройки для работы 1C-Битрикс.

Стабильная версия BitrixEnv работает на версии PHP 7.2. В свою очередь 1С-Битрикс уже может работать с более новыми версиями. При входе в админку CMS просит обновить версию PHP. В этой ситуации требуется сделать выбор:

  1. Подождать стабильную версию BitrixEnv с новой версией PHP и обновить всё вместе.
  2. Воспользоваться бета-версией BitrixEnv.
  1. Beta-версия программы нестабильна. В ней могут быть недоработки. Компания REG.RU не несёт ответственности за эти ошибки. Если вы не готовы столкнуться с трудностями, подождите стабильную версию.
  2. После установки бета-версии вернуться обратно на стабильную нельзя. Вам придётся ждать выхода новой стабильной версии и переходить на неё или устанавливать прежнюю стабильную версию заново.
  3. Перед настройками сделайте резервную копию сервера. Например, на VPS можно воспользоваться снэпшотами.

Если вам подходит второй вариант, ниже мы дадим инструкцию для CentOS 7, как использовать новую версию PHP на BitrixVM.

Обратите внимание! Если вы используете CentOS 6, обновить PHP до версии 7.4 в BitrixEnv нельзя.

Настройка состоит из трёх этапов:

  1. Обновление BitrixEnv до последней стабильной версии.
  2. Переход на beta-версию BitrixEnv.
  3. Обновление версии PHP.

Этап 1. Обновите BitrixEnv до последней стабильной версии

Если у вас уже установлена последняя стабильная версия BitrixEnv, сразу переходите к этапу 2. Чтобы перейти к новой стабильной версии:

Перейдите в меню Bitrix. Если меню не запущено, откройте его с помощью команды:

Выберите пункт 2. Configure localhost settings, затем 6. Update server:

Для подтверждения действий нажмите y:

Сервер начнёт проверять версии пакетов. Если чего-то не хватает, он начнёт обновление. После обновления нажмите ENTER:

Далее сервер вернёт вас к предыдущему меню. В запросе Please confirm you want to update the server нажмите N:

Вернитесь в главное меню. Для этого выберите 0. Previous screen or exit:

Готово, переходите к этапу 2.

Этап 2. Перейдите на beta-версию BitrixEnv

Выберите пункт 1. Manage servers in the pool, затем 10. Enable or disable bitrix-env beta versions:

Для подтверждения обновления введите y:

Снова обновите пакеты. Выберите пункт 2. Configure localhost settings, затем 6. Update server:

Для подтверждения действий нажмите y:

После обновления нажмите ENTER:

В запросе Please confirm you want to update the server нажмите N:

Готово, начнётся процесс обновления.

Чтобы отслеживать обновление в главном меню, выберите пункт 10. Background pool tasks. Статус running ― операция выполняется, finished ― операция завершена.

Если в процессе обновления возникла ошибка (статус Error), попробуйте запустить обновление повторно. Если проблема не будет решена, обратитесь в службу поддержки. В заявке укажите данные для доступа к серверу, чтобы специалисты смогли найти проблему.

Этап 3. Обновите версию PHP

В основном меню выберите пункт 1. Manage servers in the pool, затем 8. Update PHP and MySQL.

Введите имя хоста, для которого нужно обновить PHP или введите all для обновления всех хостов:

Выберите 1. Upgrade PHP:

Выберите пункт 1. Update PHP to version 7.4:

Чтобы подтвердить обновления, введите y для подтверждения обновления:

Установка может занять некоторое время. Чтобы отслеживать обновление в главном меню, выберите пункт 10. Background pool tasks. Статус:

  • running ― операция выполняется,
  • finished ― операция завершена,
  • error ― произошла ошибка. Обратитесь в службу поддержки.

Источник

Ошибка при обновлении php до 8

Цитата
написал:
Порылся в модулях, я правильно понимаю что ошибка в главных модулях самого битрикса?
Цитата
написал:
non-static method CLSGeneralCLSIBlockEvent::onAfterIBlockElementUpdate()

Обратитесь к разработчику модуля, это кастом.

Цитата
написал:
Обновили ядро Битрикс, все классно вроде.. Настройки ПХП на хостинге проверили все ок, переключили на Php 8.
Публичка за исключением одного шаблона и подвала сайта работает (подвал исчез как и карточка товара), но это ладно поправимо. НО, о чем можно говорить если в родную битриксовую /bitrix — админку попасть не получается, выдает ошибки в ядре https://skr.sh/sHp9nLfOfPV?a
из принципа и логики копаться в ядре не станем, куда разработчики смотрят то. что это за дилетантский подход, выдавать предупреждение «срочно переходите на 8 до февраля» а самим так лажать?
Цитата
написал:
GetUserTypeDescription
Цитата
написал:
Обновили ядро Битрикс, все классно вроде.. Настройки ПХП на хостинге проверили все ок, переключили на Php 8.
Публичка за исключением одного шаблона и подвала сайта работает (подвал исчез как и карточка товара), но это ладно поправимо. НО, о чем можно говорить если в родную битриксовую /bitrix — админку попасть не получается, выдает ошибки в ядре https://skr.sh/sHp9nLfOfPV?a
из принципа и логики копаться в ядре не станем, куда разработчики смотрят то. что это за дилетантский подход, выдавать предупреждение «срочно переходите на 8 до февраля» а самим так лажать?
Цитата
Евгений Уразов написал:
Код шаблона проверьте, т.к. сейчас если указать вызов без кавычек, уже будет критошибка. $arRow[UF_NAME]. Гдето пропустили например, и на php 7.4 работало, а на 8.х это уже смертный грех

А здесь компонент news.list. конкретно на данной строке false. В общем все стандартно,

Замена шаблона на стандартный тоже не решает проблему, так что не в кавычках дело.

Цитата
написал:
non-static method CIBlockPropertyCProp::GetUserTypeDescription
Цитата
написал:
Кастомный класс свойства инфоблока

Добрый день, при переходе на 8.1 выдает ошибку

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method SlamcountersEvent::OnBeforePrologHandler() cannot be called statically (0)
/sites/domain.ru/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/sites/domain.ru/bitrix/modules/main/include.php:456
#1: require_once(string)
/sites/domain.ru/bitrix/modules/main/include/prolog_admin_before.php:34
#2: require_once(string)
/sites/domain.ru/bitrix/modules/main/admin/settings.php:16
#3: require_once(string)
/sites/domain.ru/bitrix/admin/settings.php:2

Можете подсказать, что нужно исправить, чтобы сайт загрузился?

P.S.
на 7.4 грузится отлично

Цитата
написал:
Добрый день, при переходе на 8.1 выдает ошибку

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method SlamcountersEvent::OnBeforePrologHandler() cannot be called statically (0)
/sites/domain.ru/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/sites/domain.ru/bitrix/modules/main/include.php:456
#1: require_once(string)
/sites/domain.ru/bitrix/modules/main/include/prolog_admin_before.php:34
#2: require_once(string)
/sites/domain.ru/bitrix/modules/main/admin/settings.php:16
#3: require_once(string)
/sites/domain.ru/bitrix/admin/settings.php:2

Можете подсказать, что нужно исправить, чтобы сайт загрузился?

P.S.
на 7.4 грузится отлично

Цитата
написал:
Добрый день, при переходе на 8.1 выдает ошибку

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method SlamcountersEvent::OnBeforePrologHandler() cannot be called statically (0)
/sites/domain.ru/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/sites/domain.ru/bitrix/modules/main/include.php:456
#1: require_once(string)
/sites/domain.ru/bitrix/modules/main/include/prolog_admin_before.php:34
#2: require_once(string)
/sites/domain.ru/bitrix/modules/main/admin/settings.php:16
#3: require_once(string)
/sites/domain.ru/bitrix/admin/settings.php:2

Можете подсказать, что нужно исправить, чтобы сайт загрузился?

P.S.
на 7.4 грузится отлично

Уже не раз тут это обсуждалось. Удалите кастомный модуль и все заработает

Цитата
написал:
SlamcountersEvent
Цитата
написал:
SlamcountersEvent

Видимо этот. Пользуйтесь поиском =)
https://marketplace.1c-bitrix.ru/solutions/slam.counters/#tab-comments-link

Цитата
написал:
method ErrorSendMD::ErrorSendOnProlog

Потому что другой модуль уже. У вас там есть модуль «Сообщить об ошибке» может быть он, но лучше сначала сами файлы посмотрите

Вообще у вас много сторонних модулей, готовьтесь что много чего удалить придется, либо требуйте от разработчиков оптимизации под php8

Цитата
написал:
method ErrorSendMD::ErrorSendOnProlog

Потому что другой модуль уже. У вас там есть модуль «Сообщить об ошибке» может быть он, но лучше сначала сами файлы посмотрите

Вообще у вас много сторонних модулей, готовьтесь что много чего удалить придется, либо требуйте от разработчиков оптимизации под php8

Все модули на которые ругался удалил, но теперь на самом сайте появились ошибки.

[Error]
Undefined constant «ID» (0)
/sites/domain.ru/bitrix/templates/yaprodam/include/spec.php:38
#0: require
/sites/domain.ru/index.php:20

Цитата
написал:
method ErrorSendMD::ErrorSendOnProlog

Потому что другой модуль уже. У вас там есть модуль «Сообщить об ошибке» может быть он, но лучше сначала сами файлы посмотрите

Вообще у вас много сторонних модулей, готовьтесь что много чего удалить придется, либо требуйте от разработчиков оптимизации под php8

Все модули на которые ругался удалил, но теперь на самом сайте появились ошибки.

[Error]
Undefined constant «ID» (0)
/sites/domain.ru/bitrix/templates/yaprodam/include/spec.php:38
#0: require
/sites/domain.ru/index.php:20

Добрый день! При обновлении php с версии 7.4.21 до 8.1 выходят ошибки, подскажите что нужно переделать

После обновления сайт не доступен, ошибок со стороны сервера не фиксируются.

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method CallibriIncludeScriptMain::appendScriptsToPage() cannot be called statically (0)
/home/bitrix/www/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array, array)
/home/bitrix/www/bitrix/modules/main/classes/general/main.php:3160
#1: CAllMain->EndBufferContent(string)
/home/bitrix/www/bitrix/modules/main/classes/general/main.php:3137
#2: CAllMain->EndBufferContentMan()
/home/bitrix/www/bitrix/modules/main/include/epilog_after.php:46
#3: require(string)
/home/bitrix/www/bitrix/modules/main/include/epilog.php:3
#4: include(string)
/home/bitrix/www/bitrix/modules/main/classes/general/main.php:314
#5: CAllMain->AuthForm(boolean)
/home/bitrix/www/bitrix/modules/main/include.php:516
#6: require_once(string)
/home/bitrix/www/bitrix/modules/main/include/prolog_before.php:14
#7: require_once(string)
/home/bitrix/www/index.php:8

Цитата
написал:
Добрый день! При обновлении php с версии 7.4.21 до 8.1 выходят ошибки, подскажите что нужно переделать

После обновления сайт не доступен, ошибок со стороны сервера не фиксируются.

Источник

С 1 декабря 2022 года Битрикс начал сигнализировать пользователям о потребности обновить препроцессор в связи с прекращением поддержки своих продуктов. Уведомление отображается в разделе обновления платформы. Отказ приведет к приостановке обновлений вашего сайта, это может негативно отразиться на его развитии.

Важно заметить, что обновляться нужно правильно:
  1. Перед обновлением важно помнить о необходимости создания резервной копии сайта(ов) средствами хостинг провайдера;
  2. Проводить обновление и отладку сначала на тестовом сервере (песочница);
  3. Запросить у хостинг провайдера — создание резервной копии всего сервера (при наличии возможности создания “снимков”).

Поддержка будет ограничена с 1.02.2023 года

Уведомление содержит следующий текст: С 01.02.2023 будет ограничена поддержка наших продуктов на PHP версии ниже 8.0. Рекомендуемая версия PHP — 8.1 и выше. Вы используете версию PHP 7.4.33. Пожалуйста, запланируйте обновление PHP или обратитесь в службу технической поддержки вашего хостинга.

Уведомление о смене версии php 1С-Битрикс

Уведомление об ошибке

Если уведомление на красном фоне, с заголовком ошибка, значит некоторые компоненты на вашем сайте уже лишены обновления.

Уведомление об ошибке 1С-Битрикс

Что делать и куда бежать?

Бежать никуда не придется, ниже представим два варианта решения ситуации, как нашими силами, так и самостоятельно. А если информации недостаточно, позвоните или напишите нам, разберем на вашем примере, наверняка это будет бесплатно.

Немного рекламы

Простота обновления зависит от варианта размещения сайта и сложности его разработки, а если Вы заказывали сайт у нас, то мы уже подготовили чек-лист для его обновления, просто сообщите нам. В любом другом случае у нас обширный опыт в разработке и после диагностики мы сообщим гарантированные сроки обновления.

Диагностика проводится бесплатно, а последующее обновление, после определения сложности, за отдельную плату.

Наши специалисты готовы взяться за решение задачи, стоимость работы в среднем от 5 000 рублей.

Стоимость может быть и ниже, к каждой задаче у нас индивидуальный подход, а для согласования деталей позвоните нам на номер +74953748879.

Как обновить версию PHP

Процедура обновления php пакетов затрагивает работу всех модулей сайта, поэтому все работы проводятся только вне рабочего времени, когда посетителей на сайте — минимальное количество.

Далее мы приведем примеры обновления на хостинге который всем рекомендуем, на случай, если захотите попробовать самостоятельно.

Обновление PHP на виртуальном хостинге Бегет

Хостинг от Бегет — это готовое решение для размещения интернет-проектов без необходимости администрировать сервер. Бегет — это хостинг для людей! Для тех кому нужны стабильно работающие сайты. Лозунг “Дарим людям удовольствие от работы с хостингом”, считаем полностью оправданным — за 8 лет работы с ними все наши сложности решались моментально, техническая поддержка на высоте!

Панель управления, а в нашем случае нужен раздел управления сайтами, поможет с лёгкостью сменить версию.

Переходите по ссылке cp.beget.com/sites и напротив своего сайта нажимаете шестеренку, это настройки.

Список сайтов Бегет

Смена версии php на Beget

Далее просто меняете версию, дождётесь применения настроек, процесс занимает не более минуты и проверяйте работу сайта, а потом переходите к обновлению платформы Битрикс. Уведомление о потребности обновить версию, в следующий раз, прилетит через пару-тройку лет.

Как обновить пакеты PHP на BitrixVM

В случае, когда у вас арендован выделенный сервер (VPS), вы можете обратиться к обновлению пакетов напрямую — через SSH консоль и меню BitrixVM.

    Порядок действий в конфигурационном меню (под root пользователем):

  1. Manage servers it the pool (пункт 1);
  2. Update php and MySQL (пункт 8);
  3. Выбрать нужную версию php.

BitrixVM - смена версии php через меню БитриксВМ

Смена версии PHP через ISP панель

Для переключения режима работы PHP, пройдите по пути «WWW» → «WWW-домены» и кликните 2 раза на имя необходимого домена.

Смена версии PHP на ISPmanager

В открывшемся окне выбираем версию php и нажимаем “ок”

Смена версии php

Самостоятельно обновили версию PHP, но сайт сломался?

Ошибка №1: Статический метод

Если после обновления перестал загружаться сайт, значит надо его доработать. Вы встретились с ошибкой совместимости синтаксиса версий препроцессора.

[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method COpenstatCounter::OnBeforeProlog() cannot be called statically (0)
#0: call_user_func_array(array, array)
#1: ExecuteModuleEventEx(array)
#2: require_once(string)
#3: require_once(string)
#4: require_once(string)
#5: require(string)
#6: include_once(string)
#7: include_once(string)

Необходимо найти класс COpenstatCounter, и метод OnBeforeProlog, и сделайте его статичным.

Ошибка №2: Неработающий модуль отправки почты SMTP
Чтобы решить проблему в файле var/www/html/vyatsu_new/bitrix/modules/wsrubi.smtp/classes/general/IdnaConvert.php
Исправьте (если не изменяли ранее файл).
строку 421 на $decoded[] = ord($encoded[$k]);
строку 435 на $digit = $this->_decode_digit($encoded[$enco_idx++]);
строку 958 на $output[$out_len] += ord($input[$i]) << (8 * (3 — ($i % 4) ) );
строку 829 на $v = ord($input{$k});
Причина — «Удалена поддержка устаревших фигурных скобок для доступа к смещению.», отмена вот подтверждение https://www.php.net/manual/ru/migration80.incompatible.php

Ошибка №3: Адаптация шаблона АСПРО под обновление версии php 8.x
TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method COptimus::ShowPanel() cannot be called statically (0)
/var/www/bx41608/data/www/lash67.ru/bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx(array)
/var/www/bx41608/data/www/lash67.ru/bitrix/modules/main/include.php:456
#1: require_once(string)
/var/www/bx41608/data/www/lash67.ru/bitrix/modules/main/include/prolog_admin_before.php:34
#2: require_once(string)
/var/www/bx41608/data/www/lash67.ru/bitrix/modules/main/admin/settings.php:16
#3: require_once(string)
/var/www/bx41608/data/www/lash67.ru/bitrix/admin/settings.php:2
Необходимо дождаться обновление шаблона и обновить решение АСПРО

Или обращайтесь к нам, с удовольствием поделимся опытом или проведем дискуссию разбирая вашу ситуацию.

Успешного Вам обновления!

ВАЖНО! Настоятельно рекомендуем сделать архивную копию.

BitrixVM — полностью настроенный виртуальный сервер, который адаптирован для работы с продуктами 1С-Битрикс. Его можно установить самостоятельно или воспользоваться VPS с готовым образом на сайте REG.RU.

BitrixEnv — окружение, которое находится внутри BitrixVM. Оно помогает устанавливать всё необходимое ПО и оптимизирует настройки для работы 1C-Битрикс.

Стабильная версия BitrixEnv работает на версии PHP 7.2. В свою очередь 1С-Битрикс уже может работать с более новыми версиями. При входе в админку CMS просит обновить версию PHP. В этой ситуации требуется сделать выбор:

  1. Подождать стабильную версию BitrixEnv с новой версией PHP и обновить всё вместе.
  2. Воспользоваться бета-версией BitrixEnv.
  1. Beta-версия программы нестабильна. В ней могут быть недоработки. Компания REG.RU не несёт ответственности за эти ошибки. Если вы не готовы столкнуться с трудностями, подождите стабильную версию.
  2. После установки бета-версии вернуться обратно на стабильную нельзя. Вам придётся ждать выхода новой стабильной версии и переходить на неё или устанавливать прежнюю стабильную версию заново.
  3. Перед настройками сделайте резервную копию сервера. Например, на VPS можно воспользоваться снэпшотами.

Если вам подходит второй вариант, ниже мы дадим инструкцию для CentOS 7, как использовать новую версию PHP на BitrixVM.

Обратите внимание! Если вы используете CentOS 6, обновить PHP до версии 7.4 в BitrixEnv нельзя.

Настройка состоит из трёх этапов:

  1. Обновление BitrixEnv до последней стабильной версии.
  2. Переход на beta-версию BitrixEnv.
  3. Обновление версии PHP.

Этап 1. Обновите BitrixEnv до последней стабильной версии

Если у вас уже установлена последняя стабильная версия BitrixEnv, сразу переходите к этапу 2.
Чтобы перейти к новой стабильной версии:

  1. 1.

  2. 2.

    Перейдите в меню Bitrix. Если меню не запущено, откройте его с помощью команды:

  3. 3.

    Выберите пункт 2. Configure localhost settings, затем 6. Update server:



    =1222x473




  4. 4.

    Для подтверждения действий нажмите y:




  5. 5.

    Сервер начнёт проверять версии пакетов. Если чего-то не хватает, он начнёт обновление. После обновления нажмите ENTER:




  6. 6.

    Далее сервер вернёт вас к предыдущему меню. В запросе Please confirm you want to update the server нажмите N:




  7. 7.

    Вернитесь в главное меню. Для этого выберите 0. Previous screen or exit:



    Обновление BitrixEnv до последней стабильной версии 6

Готово, переходите к этапу 2.

Этап 2. Перейдите на beta-версию BitrixEnv

  1. 1.

    Выберите пункт 1. Manage servers in the pool, затем 10. Enable or disable bitrix-env beta versions:



    Переход на beta-версию BitrixEnv 1



    Переход на beta-версию BitrixEnv 2

  2. 2.

    Выберите пункт 1. Enable bitrix-env beta versions.

  3. 3.

    Для подтверждения обновления введите y:



    Переход на beta-версию BitrixEnv 3

  4. 4.

    Снова обновите пакеты. Выберите пункт 2. Configure localhost settings, затем 6. Update server:



    Переход на beta-версию BitrixEnv 4



    Переход на beta-версию BitrixEnv 5

  5. 5.

    Для подтверждения действий нажмите y:



    Переход на beta-версию BitrixEnv 6

  6. 6.

    Сервер начнёт проверять версии пакетов. Если чего-то не хватает, он начнёт обновление. Как только обновление завершится, появится надпись Complete!.

  7. 7.

    После обновления нажмите ENTER:



    Переход на beta-версию BitrixEnv 7

  8. 8.

    В запросе Please confirm you want to update the server нажмите N:



    Переход на beta-версию BitrixEnv 8

Готово, начнётся процесс обновления.

Чтобы отслеживать обновление в главном меню, выберите пункт 10. Background pool tasks. Статус running ― операция выполняется, finished ― операция завершена.



Переход на beta-версию BitrixEnv 9



Переход на beta-версию BitrixEnv 10

Если в процессе обновления возникла ошибка (статус Error), попробуйте запустить обновление повторно. Если проблема не будет решена, обратитесь в службу поддержки. В заявке укажите данные для доступа к серверу, чтобы специалисты смогли найти проблему.

Этап 3. Обновите версию PHP

  1. 1.

    В основном меню выберите пункт 1. Manage servers in the pool, затем 8. Update PHP and MySQL.



    Обновление версии PHP в BitrixVM 1



    Обновление версии PHP в BitrixVM 2

  2. 2.

    Введите имя хоста, для которого нужно обновить PHP или введите all для обновления всех хостов:



    =1440x382




  3. 3.

    Выберите 1. Upgrade PHP:



    Обновление версии PHP в BitrixVM 5

  4. 4.

    Выберите пункт 1. Update PHP to version 7.4:



    Обновление версии PHP в BitrixVM 6

  5. 5.

    Чтобы подтвердить обновления, введите y для подтверждения обновления:



    Обновление версии PHP в BitrixVM 7

Установка может занять некоторое время. Чтобы отслеживать обновление в главном меню, выберите пункт 10. Background pool tasks. Статус:

  • running ― операция выполняется,
  • finished ― операция завершена,
  • error ― произошла ошибка. Обратитесь в службу поддержки.

Готово, последняя версия РНР установлена.

Понравилась статья? Поделить с друзьями:
  • Пересолила кетчуп как исправить на зиму
  • Переход на 5 платформу атол ошибка
  • Пересолила кашу как исправить рисовую кашу
  • Перехлестнулся ремень безопасности как исправить
  • Пересолила картошку тушеную как исправить что делать