Fatal error: Cannot declare class megamenu1Table, because the name is already in use in /home/a/avtoforum/starter/public_html/bitrix/modules/main/li b/orm/entity.php(1090) : eval()'d code on line 1 [ErrorException] E_COMPILE_ERROR Помогите, пожалуйста
Проверьте закрывающие скобки в условиях " } " Номер строки в файле вам дан.
Но это как один из множественных вариантов =) Смотреть же надо что у вас там за ошибки при компиляции
Область видимости свойства, метода или константы (начиная c PHP 7.1.0) может быть определена путём использования следующих ключевых слов в объявлении: public, protected или private. Доступ к свойствам и методам класса, объявленным как public (общедоступный), разрешён отовсюду. Модификатор protected (защищённый) разрешает доступ самому классу, наследующим его классам и родительским классам. Модификатор private (закрытый) ограничивает область видимости так, что только класс, где объявлен сам элемент, имеет к нему доступ. https://www.php.net/manual/ru/language.oop5.visibility.php
Свойства, методы и константы, объявленные без явного ключевого слова области видимости, определяются как общедоступные (public).
Смотрите код той страницы, где вылезает данная ошибка.
То что дали сейчас это файлы ядра. Там все нормально должно быть, если пользуете последние обновления. В данном месте формирует отображение определенных параметров с 1060 строки до 1090. В вашем случае "class megamenu1Table", похоже относится в меню сайта. Смотрите что в файле шаблона меню, может скобки, может кавычки, может точку с запятой где потеряли.. может в самом файле где формируются поля меню.. Может в файле где сам инклюд этой менюшки...
Добрый день! Помогите разобраться в нижеследующем. С горем пополам обновил версию Битрикса до 22.500.400, а php c 5.4 до 7.4, сейчас ещё нужно до 8.1 ввиду известного предупреждения. При проверке системы - все отметки зеленые, переключил в админке хостинга версию на 8.1. И ...
При обновлении какой-нибудь стр-цы из админки, например, bitrix/admin/site_checker.php
[TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method CDbFastAuth::OnBeforePrologHandler() cannot be called statically (0) /home/belhimco/public_html/bitrix/modules/main/classes/general/module.php:480 #0: ExecuteModuleEventEx /home/belhimco/public_html/bitrix/modules/main/include.php:456 #1: require_once(string) /home/belhimco/public_html/bitrix/modules/main/include/prolog_admin_before.php:34 #2: require_once(string) /home/belhimco/public_html/bitrix/modules/main/admin/site_checker.php:257 #3: require(string) /home/belhimco/public_html/bitrix/admin/site_checker.php:1
Я видел в этой теме https://www.brekot.ru/blog/1s-bitriks-i-php-8/ и вроде многим помогло, с этим связана 2-я ошибка или нет? Если да, то куда и как там написать этот static? Извиняюсь, но я просто в этом почти вообще "ни бэ, ни мэ". Вот та якобы 480 строка https://ibb.co/8rwMp8h Вот начало функции https://ibb.co/vhcBJnXприписал static, как мертвому припарка ... редактор ругается, как правильно по синтаксису и вообще в этом ли дело, а то я так понимаю, что нет никакой гарантии, что после правки этой ошибки не вылезет ещё десяток похожих только в др. местах.
написал: Добрый день! Помогите разобраться в нижеследующем.
Вы решили свои проблемы? Сайт вроде работает
А то судя по вышеописанному, вы с 5.4 на 8.1 практически сразу перепрыгнули.
окончательно не решил, на 8.1 были описанные выше ошибки, а сайт работает, т.к. откатился до 7.4 (версию поднимал поэтапно с 5.4 до 5.6, потом до 7.2 и 7.4.)