PHP8. Ошибка в "Виджеты и страницы"

ЕСТЬ РЕШЕНИЕ InstantCMS 2.X

Не дает создать новые ряды и колонки.

#1 25 сентября 2021 в 10:11

Добрый день!

Движок 2.14.2  все по дефолту, дополнений никаких не ставил. В разделе «Виджеты и страницы» пытаюсь создать новы ряд или колонку и всегда выдает такую ошибку:

Status: 200

Fatal error: Uncaught TypeError: abs(): Argument #1 ($num) must be of type int|float, string given in /sites/site.ru/system/fields/number.php:386 Stack trace: #0 /sites/site.ru/system/fields/number.php(386): abs('') #1 /sites/site.ru/system/core/form.php(782): fieldNumber->store('', false, NULL) #2 /sites/site.ru/system/controllers/admin/actions/widgets_row_add_ns.php(28): cmsForm->parse(Object(cmsRequest), false) #3 /sites/site.ru/system/core/controller.php(605): actionAdminWidgetsRowAddNs->run('26') #4 /sites/site.ru/system/core/action.php(45): cmsController->runExternalAction('widgets_row_add...', Array) #5 /sites/site.ru/system/controllers/admin/actions/widgets.php(12): cmsAction->__call('runExternalActi...', Array) #6 /sites/site.ru/system/core/controller.php(605): actionAdminWidgets->run('row_add_ns', '26') #7 /sites/site.ru/system/core/controller.php(476): cmsController->runExternalAction('widgets', Array) #8 /sites/site.ru/system/core/controller.php(452): cmsController->executeAction('widgets', Array) #9 /sites/site.ru/system/core/core.php(744): cmsController->runAction('widgets', Array) #10 /sites/site.ru/index.php(46): cmsCore->runController() #11 {main} thrown in /sites/site.ru/system/fields/number.php on line 386

 

В чем может быть проблема?

Сайт работал на php 8.0, поменял на 7.4 и проблема решилась.

#2 25 сентября 2021 в 14:34

На сервере PHP  8 ?

#3 25 сентября 2021 в 14:56

Не знаю, возможный тип $value, но возможно, как-то так (на number.php(386))?

  1. return $this->getOption('is_abs') ? abs((int)$value) : $value;
#4 25 сентября 2021 в 16:07

 Evg, видимо, в PHP8 все эти шалости, что можно подать(а передается здесь строка) в функцию всё, что угодно закончились. Написано в описании

  1. abs(int|float $num): int|float

так уж будьте любезны int или float

#5 25 сентября 2021 в 16:08

На сервере PHP  8 ?

Олег Васильевич я

Да, на сервере стоят разные версии php и их можно переключать.

#6 25 сентября 2021 в 17:02

У меня было аналогично на php 8.0.9. Я переключил сайт на php 7.4.3 добавил колонку и потом вернул обратно 8.0.9 Как временное решение проблемы работает. Думаю разработчик со временем подправит под php 8. Пока так.

#7 25 сентября 2021 в 17:22

Поправлю. Ещё найдёте под php8, пишите.

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