И как я понял надо поменять на что-то первый аргумент, а именно $arEvent, но меня смущают сомнения, потому что этот аргумент много где используется, в том числе и выше по тексту кода. Мне только на этой строчке надо как-то его изменить или выше по тексту тоже?
И как я понял надо поменять на что-то первый аргумент, а именно $arEvent, но меня смущают сомнения, потому что этот аргумент много где используется, в том числе и выше по тексту кода. Мне только на этой строчке надо как-то его изменить или выше по тексту тоже?
Добрый день! Похожая ошибка была, попробуйте в папке с модулями /bitrix/modules/ найти модуль CSiteCorporate и перед функцией (в вашем случае ShowPanel) добавить static.
[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, class "CAlinVision" not found (0)
/bitrix/modules/main/classes/general/module.php:480
#0: call_user_func_array(array, array)
/bitrix/modules/main/classes/general/module.php:480
#1: ExecuteModuleEventEx(array, array)
/bitrix/modules/main/interface/admin_lib.php:909
#2: CAdminMenu->Init(array)
/bitrix/modules/main/interface/desktop.php:6
#3: require(string)
/bitrix/admin/index.php:2
Может кому то пригодиться, начал "допиливать" решение от Аспро Аспро: Корпоративный сайт 2.0 (aspro.allcorp2), версия 1.1.2 (да, не обновлялась очень давно) на PHP 8.1
Смотрите ошибки, если не видно ошибок смотрите исходный код, или 'debug' => true
Основная ошибка
Код
Non-static method CCache::CIBlockElement_GetList() cannot be called statically (0)
подскажите, пожалуйста, после обновления до 8.1 перестало заходить в админку: зависает и дальше не идет. Если зайти через скрипт входа, то все ок. Из ошибок только 500-я ошибка в консоли. Сталкивался кто-нибудь? Или как можно увидеть на что ругается?
Коллеги, кто нибудь переводил на 8-ю версию php Битрикс на Ubuntu ? Сам Ubuntu без проблем на 8.2 перешел, но в конфигурации сайта Битрикс - 7.4., и не нашли конфигурационных файлов для 8.2. чтобы прописать сайту..
Пожалуйста, подскажите что можно сделать с этой ошибкой:
Код
[TypeError]
strlen(): Argument #1 ($str) must be of type string, array given (0)
/var/www/starlayt/data/www/site.ru/bitrix/templates/site/components/bitrix/news.detail/catalog/result_modifier.php:23
Все что я понял, что проблема в этом файле result_modifier.php в куске данного кода который влияет на вывод изображений в слайде и вывод свойств инфоблока
Сделайте проверку на пустое значение. В php8 это критично. Так же смотри что у вас приходит на эту функцию, должна быть только строка, без массивов.https://www.php.net/manual/ru/function.strlen.php
Добрый день! Тоже столкнулся с ошибками при переходе на PHP 8.1. Пока вернул на 7.4 и не стал обновлять сайт. Сейчас собираюсь развернуть тестовую копию сайта на отдельном хостинге и пробовать обновить сайт и перейти на PHP 8.1.
В связи с эти возник вопрос. Если загрузить обновления Битрикса на тестовой версии (с включенным режимом "Установка для разработки"), и довести его до состояния, что все работает как надо. А потом уже это проделать на основной версии сайта. Не слетит ли возможность обновлений? Т.е. если я сначала обновляю тестовую версию, а потом захочу обновить основную, не будет ли проблем с обновлениями?
php8: explode() теперь выбрасывает TypeError, если параметр separator является пустой строкой (""). Ранее вместо исключения explode() возвращала false.
php8: explode() теперь выбрасывает TypeError , если параметр separator является пустой строкой (""). Ранее вместо исключения explode() возвращала false.
php8: explode() теперь выбрасывает TypeError , если параметр separator является пустой строкой (""). Ранее вместо исключения explode() возвращала false.
У меня separator ведь не пустая строка
Ай, не то скопировал. Прошу прощения. В общем, убедитесь, что входящая строка была именно строкой, а не массивом, о чем вам именно в ошибке и пишется. Либо еще может быть, что передается пустое значение. На это вроде тоже срабатывает
В общем, убедитесь, что входящая строка была именно строкой, а не массивом, о чем вам именно в ошибке и пишется. Либо еще может быть, что передается пустое значение. На это вроде тоже срабатывает
Благодарю за помощь. Я перевод ошибки понял, просто не понятно, что у меня параметры в MIME_TYPE передаются именно строки, странно что explode их на данном этапе не видит и действительно получает 0. Пришлось обойтись без этой функции Я так и не понял как с ней бороться в данном случае. Заменил на такую конструкцию
Может кто сталкивался с такой проблемой и решил, у меня не получается. Код много лет назад был взят из открытых источников и работал, но сейчас выдаёт ошибку.