Cannot make non static method static in class php

Форум

Пытался сделать обновление платформы и получил ошибку после которой сайт переходит в нерабочее состояние.
Fatal error: Cannot make static method CAllEventMessage::GetList() non static in class CEventMessage in \bitrix\modules\main\classes\mysql\event.php on line 125
Может кто нибудь помочь с этой проблемой?

Версия php 5.6. При попытке повысить версию до 7.0.X, система обновления в самом начале выдает ошибку:

Fatal error: Uncaught TypeError: Argument 1 passed to Bitrix\Main\Diag\ExceptionHandler::handleException() must be an instance of Exception, instance of Error given in \bitrix\modules\main\lib\diag\exceptionhandler.php:167

Обновление накатываю на локальной копии сайта. Обновить нужно, но убить сайт тоже не хочется.

Собственно это и пытаюсь сделать. И при обновлении продукта получаю ошибку про «Cannot make static method CAllEventMessage::GetList() non static in class CEventMessage. «. Или «обновить продукт» не тоже самое что и «Установка обновлений» из раздела «Обновление платформы»?

Спасибо огромное! Локальная копия сайта обновилась с понижением до php 5.3 не полностью и некоторые обновления выдавали ошибку. Но по завершению установки обновлений осталось только 13 неустановленных. После повышения обратно до версии php 5.6 удачно установились и эти 13 обновлений. Теперь имею полностью обновленную локальную копию сайта.

Читайте также:  Готовая карусель html css

Еще раз огромное спасибо, Евгений!

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

Центр поддержки

Продукты

Управление сайтом

Битрикс24

Интернет-магазин + CRM

Решения

Для интернет-магазинов

Каталог готовых решений

Внедрение

Выбрать партнера

Проверить партнера

Стать партнером

1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

Контент для лиц от 16 лет и старше

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to Complete PHPStan Analysis Due to Fatal Error — Cannot Make Non Static Method «X» Static #5837

Unable to Complete PHPStan Analysis Due to Fatal Error — Cannot Make Non Static Method «X» Static #5837

Comments

Bug report

> phpstan —version PHPStan — PHP Static Analysis Tool 0.12.99

Analysis terminates prematurely with message:

Note: Path for Composer-managed dependencies is EXCLUDED in the configuration file ( phpstan.neon ).

Code snippet that reproduces the problem

A full stack trace is not provided in the PHPStan output, so it’s not clear from the error report by PHPStan from where in the source being analyzed this issue originates. We’re working through a process of elimination given out somewhat limited use of the URI package from the The League of Extraordinary Packages.

Expected output

Output of analysis is as expect until the unexpected termination of the analysis/evaluation with child process error (exit code 255).

Did PHPStan help you today? Did it make you happy in any way?

Yes, PHPStan has helped us identify code quality issues, saving us post-deployment headaches.

The text was updated successfully, but these errors were encountered:

I do believe I located the problematic use of portions of the the League\Uri package. It appears PHPStan «chokes» on this:

use League\Uri;
// Create hierarchical path instance
$path = new Uri\Components\HierarchicalPath(‘/some/relative-url.ext’);

Hi, you can debug this if you run PHPStan with —debug and see which file is analysed when PHPStan crashes like that.

I’m trying that now to see what happens. Thanks, Ondrej.

Reproducing this on phpstan.org is a little bit of a trick since the PHP source file in question is an autoloaded class which itself has a number of dependencies (besides the Composer-managed dependency Leagure\Uri ) including an abstract class and interface, the latter of which extends other interfaces, etc. Anyway, you get the idea.

@ondrejmirtes It is, in fact, the class I’d already identified, which uses a certain class instance that’s part of the League\Uri package. Here’s the error from debug:

PHP Fatal error: Cannot make non static method League\Uri\Components\PathInfoTrait::assertValidEncoding() static in class League\Uri\Components\AbstractHierarchicalComponent in /vendor/composer/league/uri-components/src/Components/HierarchicalPath.php on line 203

Fatal error: Cannot make non static method League\Uri\Components\PathInfoTrait::assertValidEncoding() static in class League\Uri\Components\AbstractHierarchicalComponent in /vendor/composer/league/uri-components/src/Components/HierarchicalPath.php on line 203

Removing this particular line, which instantiates an instance of HierarchicalPath eliminates the crash:

$path = new Uri\Components\HierarchicalPath(‘/some/relative-url.ext’);

I would conclude, maybe incorrectly, something about the composition of the League\Uri\Components\HierarchicalPath class in the League\Uri package is unexpected for PHPStan?

Our composer requirements specify «league/uri»: «^5.3» , so currently have 5.3.0, which itself requires «league/uri-components»: «^1.8» , so we currently have 1.8.2 for it:

Next, I plan to see if we can transition to the latest stable release of League\Uri (6.5), which doesn’t require league/uri-components , but only suggests it. In that instance, the suggestion, if made one of our Composer requirements, should yield a latest stable of 2.4.0.

Please let me know if this helps.

Источник

Форум

Fatal error: Cannot make static method CUserTypeEnum::GetUserTypeDescription() non static in class CUserTypeCustomIBlockElement in /home/bitrix/www/local/php_interface/classes/CUserTypeCustom ­IBlockElement.php on line 20
[ErrorException] E_COMPILE_ERROR
Cannot make static method CUserTypeEnum::GetUserTypeDescription() non static in class CUserTypeCustomIBlockElement (0)
/home/bitrix/www/local/php_interface/classes/CUserTypeCustom ­IBlockElement.php:20

Тут думаю только в ТП писать, они заменят файлы на эталонные

А может у вас перестали работать доп обработки в init.php или result_modifier.php

Цитата
написал:
Fatal error: Cannot make static method CUserTypeEnum::GetUserTypeDescription() non static in class CUserTypeCustomIBlockElement in /home/bitrix/www/local/php_interface/classes/CUserTypeCustom ­­IBlockElement.php on line 20

Что делать?
1. отключите все кастомные доработки (кк вариант переименуйте папку local -> __local )
2. см. файл: /local/php_interface/classes/CUserTypeCustom­IBlockElement.php on line 20
ошибка генерится на 20-й строке.
PS. Если вы обновлялись, то скорее всего вы обновили PHP до 7.4
Возможно, что там используется код не поддерживаемый в 7.4.

php был обновлен до этого, где то еще в апреле. То есть на момент текущего обновления уже была версия php 7/4

Центр поддержки

Продукты

Управление сайтом

Битрикс24

Интернет-магазин + CRM

Решения

Для интернет-магазинов

Каталог готовых решений

Внедрение

Выбрать партнера

Проверить партнера

Стать партнером

1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

Контент для лиц от 16 лет и старше

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

Источник

Оцените статью