Поддержка PHP 8

Не так давно состоялся релиз php 8 и после проведенных тестов выяснилось что cscart 4.12.1 совершенно с ним не работает(возникает множество ошибок по части smarty и компиляция шаблонов просто зависает). Очень хотелось бы обратить внимание разработчиков на то что поддержка php 7.3 уже закончилась, сейчас единственные актуальные версии это php 7.4 и 8, а развиваться активно будет только 8 ветка и мы как пользователи очень бы хотели чтобы cscart поддерживал актуальную версию языка.
По части смарти - в цскарт используется древняя библиотека 3.1.21 от 18.10.2014, возможно настало время обновить ее до актуальной версии(за прошедшие года в библиотеку внесено множество фиксов и оптимизаций)? Фиксы под php 8 уже присутствуют в мастер ветке smarty на github. И да я прекрасно понимаю что скорее всего часть шаблонов придется править под новую версию библиотеки, но сохранять старую версию библиотеки на которой строится весь ui сцкарт на уровне 14го года только для того чтобы ничего не сломать тоже не дело.

16 лайков

Тоже “за” актуализацию версии. Но понимаю и разработчиков. Многие серверные дистрибы ОС по умолчанию ставят старые “проверенные” версии PHP. Кроме того, актуализацию шаблонов при увеличении версии Smarty нужно проходить не только CS-Cart, но и всем разработчикам модулей.
В общем, процесс правильный, но не быстрый. Будем ждать)

3 лайка

@ab.developer.inj
С 14го года подвижек нет(хотя если бы библиотека своевременно обновлялась то сейчас бы небыло такой проблемы с ее обновлением, просто в свое время явно решили не обновлять чтобы ничего не сломать), так что просто хотелось бы чтобы на это обратили внимание. С учетом того как развивается платформа такое ломающее изменение можно ждать только например в цскарт 4.13 который выйдет в конце следующего года(как раз к окончанию поддержки php 7.4). И очень не хотелось бы чтобы сейчас этим вопросом никто не занимался(так как 7 ветка php еще поддерживается, на ней вообщем все работает), а начали что то делать только например когда на подходе будет какой нибудь php 9, а седьмая ветка уже давно не актуальной.

8 лайков

Смотрите какую красоту я сейчас получила от тех поддержки:

“Мы изучили данную проблему. Она вызвана тем, что на сервере используется неподдерживаемая в текущей версии CS-Cart, версия PHP 7.4. Пожалуйста, обратитесь в поддержку хостинга и попросите их сменить версию PHP на 7.3.”

А вы про 8.0

@Anastacia
Поддержку php 7.4 мы завозили себе в магазин своими силами, там все исправляется очень быстро, после чего магазин стабильно работает на php 7.4. А с php 8 проблема в том что карт не работает вообще, и зная то как “быстро” вносятся разработчиками такие изменения я и завёл эту тему, так как все начинают думать о поддержке новой версии языка с первых бета версий, а цскарт официально ещё 7.4 не поддерживает, хотя она вышла уже очень давно. Нужно как то продвигать этот вопрос иначе через год цскарт все ещё не будет поддерживать php 7.4. Если разработчики поставят себе в план релизов поддержку php 8(заодно могли бы 5.6 снять с поддержки), то в лучшем случае через пол года или скоре год можно было бы ждать версию цскарт адаптированную под актуальную версию языка, а если будет обновлена библиотека smarty(скорее всего её придётся наконец обновить) то разработчикам цскарт придётся как и с релизом 4.12.1 выпускать бету и давать хотя бы месяц, а лучше два на устранение немовместимостей шаблонов(большая часть будет работать, но точно не все).

2 лайка

Вижу, что мой коллега не написал в тикете о том, что создал задачу на обновление Twig до версии, работающей корректно с PHP 7.4

В целом текущая версия CS-Cart должна работать на 7.4, но могут встречаться такие мелкие ошибки, которые мы еще не отловили. По этой причине мы пока не заявляем о полной поддержке PHP 7.4

Меня хостер предупредил, что весной переходит на пхп 7.4 и за поддержкау старых версий придётся доплачивать.

2 лайка

На самом деле я совершенно не помню, почему меня черт дернул весной сменить php на 7.4. Возможно, тоже по похожей причине. Тогда и начались некоторые баги, которые до сих пор через поддержку решаем. Но откат до 7.3 все равно их до конца не решил.

У нас рег.ру, вроде доплачивать за старую версию еще не нужно. Но какие-то подводные камни точно были…

Мне кажется что вопрос раскрыт не полностью. До недавнего времени мы устанавливали 7.0 версию как дефолтную для CS-Cart так как большинство модулей просто не работали с более свежими версиями. Потому боюсь что ядро смогут относительно быстро исправить, а вот что делать со всем остальным добром не понятно.
Относительно оплаты за версии php это в целом странно так как особой сложности в поддержке нескольких версий нету, у нас без проблем крутится ещё и 5.6 и месяц назад добавили 8.0 правда пока тестируем, но на днях зарелизим.

1 лайк

Дополню свой предыдущий ответ. В CS-Cart 4.12.1 проблема с обрезанием пробелов в Twig на PHP 7.4 не воспроизводится.

Вероятно, хостер стимулирует переход на новые версии, которые поддерживает разработчик. ПХП 5.6 снята с поддержки 31 дек 2018 и для неё не выпускаются обновления и т.п., потенциально это дыра в безопасности.
Но как клиенту мне бы не хотелось доплачивать. Больше всего меня бы устроило, чтобы весь софт работал на свежих версиях без проблем.

У нас в компании некоторые вещи крутятся и работают без особой поддержки уже лет 10 - просто работают, свою не великой сложности задачу выполняют и всё. Смысл там что-то трогать и менять, если оно не столь критично?

Это само собой. Но одно дело, когда программа доступна только на компьютере бухгалтера самому бухгалтеру, а другое, когда всему интернету.
И любой школьник, начитавшись про кулмегахацкеров может захотеть проверить наработки на вашем сайте.

Где-то выкладывали уязвимости в PHP 5.6?

Вы считаете, что уязвимостей в нём нет? При теперешней скорости разработки, тестирования и объёмах кода я бы не надеялся.

Пошаговые инструкции вскрытия сейфов тоже редко встретишь. Но на профильных ресурсах эти темы наверняка обсуждаются. И соответствующие специалисты есть.

А на одном китайском маркетплейсе продаются тренировочные модели замков из прозрачного пластика и наборы инструментов для вскрытия. Было бы желание.

1 лайк

Если найдёте - пишите, рассмотрим.

1 лайк

А что искать то, вот бери(список для php 5.6.40, а ведь где то могут стоять и более ранние версии) и пользуйся если знаешь как(понятно что школьник ничего не сделает, и в большинстве случаев нужна еще масса доп условий, но это не значит что уязвимостей нет)
https://www.cvedetails.com/vulnerability-list/vendor_id-74/product_id-128/version_id-298516/PHP-PHP-5.6.40.html
Эти уязвимости пофикшены в новых версиях php 7, но в 5.6 все осталось. По поводу снятых с поддержки версий php 7 - там все аналогично, все время что то находят и для актуальных версий это исправляется, для снятых с поддержки нет.
Вот список для снятой с поддержки php 7.0
https://www.cvedetails.com/vulnerability-list/vendor_id-74/product_id-128/version_id-298586/PHP-PHP-7.0.33.html
А ведь это только то что известно. Конечно никто не говорит ой все пропало, но обновляться все же надо. По части php 8 - сейчас обновление конечно не сулит каких то плюшек, но уже в том же 8.1 ментейнеры php обещали ускорение на реальных проектах за счет включения новых оптимизаций в jit. Хотя не факт что и в текущей версии php 8 не позволил бы ускорить например первичную компиляцию шаблонов. Я уж молчу о том что от разработчиков платформы хотелось бы увидеть инстукцию по корректной настройке preload(добавлен в php 7.4) для ядра cscart(своими силами настроить корректно не удалось)

1 лайк

Просмотрел, всё чисто на уровне теории что вот где-то на это как-то можно повлиять, при этом колонка “# of Exploits” везде пустая и “Gained Access Level” везде “None”. Есть примеры рабочие, там где это используется и наносится реальный вред?

1 лайк

Никто не запрещает использовать CS-Cart на 7.3 (да и с 7.4, насколько понимаю, не так много багов заявлено).
5.6 это минимальная, а не рекомендуемая версия.
Вопрос актуальной версии PHP по большей части применим к дистрибам, и в меньшей к хостингам, которые ставят устаревшие версии PHP.

P.S.: Разговор заходит в тупик. С одной стороны как разработчик модулей, обязанный покрывать все доступные версии PHP в CS-Cart, и сам хочу увеличения минимальной. Но с другой, опять же как разработчик массовых решений, понимаю желание CS-Cart так же покрывать доступные версии PHP на различных серверах (в том числе на самоподнятых серверах с консервативными ОС, которые используют в репозитории “проверенные версии” по дефолту).

Я это тоже понимаю, но там где еще используется php 5.6 скорее всего стоит какой нибудь cscart 4.3.3 и куча устаревших модулей которые уже много лет не обновлялись. Разработчики php специально долго поддерживали 5.6 чтобы кто хотел обновился. Сейчас если где то и используется эта версия то это значит только одно - в силу различных причин там никто не собирается ни ПО обновлять ни php(это как говорить что где то крутится windows xp и нужно чтобы ПО поддерживало ее). Некоторые разработчики модулей уже выпускают модули с минимальной поддержкой php 7 и не смотрят на то что платформа поддерживает 5.6. Поэтому что касается 5.6 отказ от поддержки пошел бы на пользу как платформе так и всем разработчикам модулей. Ну а решать что делать конечно только разработчикам CSCART