Ошибка при обновлении с 2.17.0

#1 19 апреля 2025 в 08:37

Привет. При обновлении вылезла ошибка

Fatal error: Uncaught Error: Cannot use a scalar value as an array in /var/www/danilowa/system/controllers/admin/actions/install_ftp.php:43

Ругалась на эту строку

  1. $account = cmsUser::isSessionSet('ftp_account') ?: ($ftp_account ?: []);

Версия php 8.3.

В данном примере $account всегда будет равен 1, а не массиву, если присутствует cmsUser::isSessionSet('ftp_account') ;  Пришлось переписать, что бы обновиться.

Не знаю баг это, нюансы синтаксиса или фича. Но кому интересно, я написал так

  1. $account = cmsUser::isSessionSet('ftp_account') ? cmsUser::sessionGet('ftp_account'):($ftp_account ? $ftp_account:[]);
#2 14 мая 2025 в 09:45

Дабы не плодить темы, решил сюда написать. После обновления до 2.17.2 при добавлении статьи появляется страница с таким содержимым:

\\u0421\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u044b<\\/p>\",\«ordering\»:null,\«is_enabled\»:\«1\»,\«is_date_range\»:null,\«is_premod_add\»:null,\«is_premod_edit\»:null,\«is_cats\»:\«1\»,\«is_cats_recursive\»:\«1\»,\«is_folders\»:null,\«is_in_groups\»:null,\«is_in_groups_only\»:null,\«is_comments\»:\«1\»,\«is_comments_tree\»:null,\«is_rating\»:\«1\»,\«is_rating_pos\»:null,\«is_tags\»:\«1\»,\«is_auto_keys\»:null,\«is_auto_desc\»:null,\«is_auto_url\»:\«1\»,\«is_fixed_url\»:\«1\»,\«url_pattern\»:\"{title}-{date_pub}\",\«options\»:{\«is_date_range_process\»:\«hide\»,\«notify_end_date_days\»:1,\«notify_end_date_notice\»:\"\\u0427\\u0435\\u0440\\u0435\\u0437 %s \\u043f\\u0443\\u0431\\u043b\\u0438\\u043a\\u0430\\u0446\\u0438\\u044f \\u0432\\u0430\\u0448\\u0435\\u0433\\u043e \\u043a\\u043e\\u043d\\u0442\\u0435\\u043d\\u0442\\u0430 %s \\u0431\\u0443\\u0434\\u0435\\u0442 \\u043f\\u0440\\u0435\\u043a\\u0440\\u0430\\u0449\\u0435\\u043d\\u0430.\",\«disable_drafts\»:null,\«show_items_counts\»:null,\«is_empty_root\»:null,\«is_cats_multi\»:null,\«is_cats_change\»:1,\«is_cats_open_root\»:1,\«is_cats_only_last\»:null,\«is_show_cats\»:1,\«cover_sizes\»:null,\«context_list_cover_sizes\»:null,\«is_multilanguages\»:null,\«rating_template\»:\«widget\»,\«rating_item_label\»:\"\",\«rating_list_label\»:\"\",\«rating_is_in_item\»:1,\«rating_is_in_list\»:1,\«rating_is_average\»:1,\«comments_template\»:\«comment\»,\«comments_title_pattern\»:\"\",\«comments_labels\»:{\«comments\»:\"\",\«spellcount\»:\"\",\«add\»:\"\",\«none\»:\"\",\«low_karma\»:\"\",\«login\»:\"\",\«track\»:\"\",\«refresh\»:\"\",\«commenting\»:\"\"},\«is_tags_in_list\»:1,\«is_tags_in_item\»:1,\«enable_subscriptions\»:1,\«subscriptions_show_in_list\»:1,\«subscriptions_in_list_pos\»:\«before_body\»,\«subscriptions_show_in_filter\»:1,\«subscriptions_recursive_categories\»:1,\«subscriptions_letter_tpl\»:\"\",\«subscriptions_notify_text\»:\"\",\«is_rss\»:1,\«list_off_breadcrumb\»:null,\«list_off_breadcrumb_ctype\»:null,\«list_on\»:1,\«list_off_index\»:null,\«profile_on\»:1,\«list_show_filter\»:1,\«list_expand_filter\»:null,\«privacy_type\»:\«hide\»,\«limit\»:15,\«list_style\»:null,\«list_style_options\»:null,\«list_style_names\»:null,\«context_list_style\»:null,\«item_off_breadcrumb\»:null,\«item_off_breadcrumb_ctype\»:null,\«item_on\»:1,\«is_show_fields_group\»:null,\«hits_on\»:null,\«hits_groups_view\»:[],\«disable_info_block\»:null,\«share_code\»:\"\",\«is_manual_title\»:1,\«seo_title_pattern\»:\"\",\«seo_keys_pattern\»:\"\",\«seo_desc_pattern\»:\"\",\«is_cats_title\»:1,\«is_cats_h1\»:1,\«is_cats_keys\»:1,\«is_cats_desc\»:1,\«is_cats_auto_url\»:1,\«is_cats_first_level_slug\»:null,\«seo_cat_h1_pattern\»:\"\",\«seo_cat_title_pattern\»:\"\",\«seo_cat_keys_pattern\»:\"\",\«seo_cat_desc_pattern\»:\"\",\«seo_ctype_h1_pattern\»:\"\",\«is_collapsed\»:null},\«labels\»:{\«one\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u0430\",\«two\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u044b\",\«many\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\",\«create\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u0443\",\«list\»:\"\",\«profile\»:\"\",\«one_accusative\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u0430\",\«two_accusative\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u044b\",\«many_accusative\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\",\«one_genitive\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u0430\",\«two_genitive\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u044b\",\«many_genitive\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\"},\«seo_keys\»:\"\\u0441\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u0430, \\u041f\\u0440\\u0435\\u0437\\u0438\\u0434\\u0435\\u043d\\u0442, \\u0420\\u043e\\u0441\\u0441\\u0438\\u044f\",\«seo_desc\»:\"\\u0421\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u044b \\u0432\\u044b\\u0441\\u0442\\u0443\\u043f\\u043b\\u0435\\u043d\\u0438\\u0439 \\u041f\\u0440\\u0435\\u0437\\u0438\\u0434\\u0435\\u043d\\u0442\\u0430 \\u0420\\u043e\\u0441\\u0441\\u0438\\u0438\",\«seo_title\»:\"\\u0421\\u0442\\u0435\\u043d\\u043e\\u0433\\u0440\\u0430\\u043c\\u043c\\u044b\",\«item_append_html\»:\"\\r\\n
<\\/div>\\r\\n

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

#3 18 мая 2025 в 22:32

всё ещё актуально, ни у кого нет мыслей по этому поводу?

Сегодня в 14:07
#4 19 мая 2025 в 07:36

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

#5 22 мая 2025 в 21:59

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

Zau4man

 Так как проблема долго не проявлялась, проверить не так просто. Сегодня проявилась снова при сохранении большого объема текста. То есть это при тексте небольшого размера не проявляется, а, например, 25 страниц ворда сохраняешь и получаешь такое. (но опять-таки, все сохраняется нормально при этом)

#6 12 июня 2025 в 22:18

Melon, пробовать отключать сторонние компоненты

Zau4man

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

Изображение

на странице вида сайт.ру/articles/add/82

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

#7 13 июня 2025 в 07:45

Есть идеи?

Melon

Глянуть логи сервера для начала. А так похоже на то, что запрос возвращает данные или не в той кодировки или не в том формате. Посмотрите не только сторонние компоненты, но и хуки, которые могут  использовать вызов создание/редактирование контента, и в этих файлах проверять ответы. Ну или поотключать хуки и искать файл

#8 16 июня 2025 в 13:45

25 страниц ворда сохраняешь и получаешь такое. (но опять-таки, все сохраняется нормально при этом)

Melon

Проблема в размерах поля payload в таблице cms_jobs

При публикации контента компонент Подписки добавляет задачу в cms_jobs для отправки уведомлений подписчикам типа контента. И большая запись просто не влазит в это поле.

А краказябры «появляются» тут github.com/instantsoft/icms2/blob/6ec16d39a61e6573aebc8189846bacbb36cedf50/system/core/queue.php#L58 в момент обработки массива методом json_decode

Для решения проблемы на версиях ниже, чем 2.18.0 сделайте запрос к базе 

  1. ALTER TABLE `cms_jobs` CHANGE `payload` `payload` MEDIUMTEXT NULL DEFAULT NULL;

С 2.18.0 тип поля у столбца payload будет сменен на MEDIUMTEXT и проблемы не будет.

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

Похожее в блогах

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.