Запит цінової пропозиції на міграцію Konaha 2 в PHP 7.4+

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Шановні колеги та знатоки PHP!

Чи можете ви допомогти оцінити приблизно, скільки коштуватиме послуга (через тендер для державного органу) перевести платформу веб-сайтів (CMS, фронт), яка використовує застарілу версію Kohana 2 і PHP 5.7, на більш сучасну версію PHP 7. За прикладом (але в нас версія 2, ще старіша).

jeka.by/post/1087/kohana php7

Які особливості, проблеми можуть виникнути? Базу даних використовує Oracle, з інших технологій memcached, веб-сервер nginx, ОС Centos 7, хоча плануємо мігрувати на Ubuntu...

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

PHP 7 вже не підтримується. Що будете робити якщо там відкриті експлойти з’являться? Дешевше для держави у перспективі було би зразу на 8.2 мігрувати можливо.

пыха 5.7 — жестко, я на 7.1 мигрировался лет 5 назад, а он оказывается уже не поддерживается... а кохана тем более мертвый проект. Я помню codeigniter пытались поставить на новую пыху, так там кишки в ядре надо было править, а кохана форкнулась от codeignitera.
Вам правильно говорят, переезжайте на последнюю стабильную версию пыхи. В случае проблем или уязвимости в 7 пхп патча или обновления вы не получите

Я помню codeigniter пытались поставить на новую пыху

Капець, в мене пару проектів старих на ньому, то теж прийдеться мудохатись колись потім? :(

так там его давно отдали на поддержку в университет, вроде в 4 версию пушат какие-то апдейты, если у вас 3 версия то очень не завидую. Или апдейтить их на 4 CI или спрыгивать с проектов. У меня был огромный маркетплейс на 3 CI, как в нем переписывать более сотни моделей и классов с таким же количеством вьювов, не знаю. Благо проект прекратили финансировать и он помер

Я собственно codeigniter брал из-за простоты, хотя надо было Laravel.
Но codeigniter показался проще 😎
Да пофиг, маркетплейсов нет, есть пара полустатичных сайтов.

Там нечего «ломать»

Зазвичай робиться так:
піднімаєте другий сервер на новому софті
на ньому запускаєте ваш сайт,
дивитесь у error.log і виправляєте помилки.

якщо повезе — за пару годин все пофіксаєте.
якщо були якісь ліби, котрі до нових версій ПХП не дожили — прийдеться писати костилі чи переписувати на нові ліби.

півтора мегабайти коду фреймворка — не так багато.
а от скільки кастом коду поверх — то вже вам видніше.

Кохана мігрує по візі нареченої?

Мені здається — за віком вона вже кохана бабуся, то ж — до онуків

Зачем обновлять фреймворк (шило на мыло)? Не проще ли добавить поддержку php7 (или даже 8) в существующий код. Можно попробовать погуглить готовые решения, плюс поискать кого-то с подобным опытом. Между v5 и v8 с точки зрения 5го не так то и много изменилось.
auth0.com/...​php5-app-to-7-part-three

А зачем вы собираетесь выбросить деньги на ветер? Если кохана, при чем независимо от версии, умерла. Путём быстрой гуглёжки обнаружил, что её форкнули и сделали некий Koseven, хз по поводу живости данного проекта, но, похоже, он не очень живой. ИМХО скорее стоит посмотреть на текущую кодовую базу и оценить сколько будет стоить перелезть с коханы на симфу или ларку, насколько долго и дорого это сделать, они вроде умирать пока не собирались. Потому что просто апдейт с очень старого говна на просто старое говно это ИМХО деньги на ветер, даже если это малый бюджет. Тем более, судя по роудмапу пхп, версия 7 уже ушла в небытие www.php.net/supported-versions.php . Очень плохая затея, короче.

Це навпаки економія, бо сайт виконує свої функції в повному обсязі і далі б працював стільки ж, але з вимог безпеки, нам рекомендовано підняти версійність php

наибольшая проблема будет в коде самой Kohana. Она не совместима с новыми версиями ПХП. а лезть в кишки фреймворка — дело неблагодарное. Да, пишут, что есть koseven, но сам PHP 7 уже уходит в небытие.
Даже если вам удасться дать еще немного жизни текущему решению, очередной аудит секурности скажет давайте дальше обновляться. И там будет тупик.
Но предполагаю, что есть определенный бюджет и деваться некуда. Опять же, учитывая сроки до конца года, переписать наверное тоже уже может оказаться не вариант.
Пробуйте оценить, как выше писали на фриланс биржах за сколько возьмутся спецы.
Ну и сразу закладывайте на след год переписывание приложение на Симфони или Ларавеле.

Это не экономия — это именно то, что я сказал — деньги на ветер. ПХП 7 уже не поддерживается, на него не будет ни текущих апдейтов, ни секюрных, скоро его будут вскрывать, если не уже. Это же касается и самой коханы — старый заброшенный фреймворк, явно с уже известными уязвимостями. А после того, как ты тут открыл эту кухню — кулхацкеры явно побегут ломать это решето... Беда, короче.
Теперь смотри, даже если ты переведёшь код, даже на php 8.2 — дыры в кохане никто не отменял, соответственно придётся и код коханы патчить, потом поддерживать. Ты действительно хочешь этим заниматься? Поддерживать мёртвый фреймворк? Серьёзно? Очень дурная трата денег. Тебе сначала предстоит с коханы 2 перелезть на кохану 3, а после этого еще и кохану 3 апнуть до взлетаемости на пхп 8.2. Ну или временно перекатиться на косевен, на нём пересидеть какое-то время, а потом всё равно пропасть, потому что никто за секюрити апдейтами в мёртвых фреймворках не следит, хочешь чтобы на сайтах ВР покопались кулхацкеры — покопаются (если еще этого не сделали), прикинь когда сайт ВР начнёт отдавать документы с троянами, во смеху то будет :) Я, конечно, говорю достаточно жестко, может даже по-хамски, но ведь это правда. Этой проблемы не возникло бы, если б программные продукты вовремя обновляли, а раз оно до сих пор живёт на софте 10-летней давности, то тут нечему удивляться. Даже если б у тебя была симфа того времени, то есть вторая, всё равно пришлось бы много-много переписывать, двойка с шестёркой плохо совместимы, но по крайней мере что-то общее там есть. А вот с коханой просто не угадали, кто ж лет 10-12 назад знал, что оно помрёт то...
Правильное решение в такой ситуации — обосновать необходимость полной смены бэкэнда на что-то актуальное, а пока этого не сделано — молиться, чтобы кулхацкеры с одной прибацанной страны делов не наделали. Я бы и топик этот с форума снёс... Хотя я очень надеюсь, что старый софт стоит не на основном сайте рады или чем-то серьёзном в мир смотрящем.

Дивіться, всі перевірки сек’юрності ми пройшли, більш того не зважаючи на постійні спроби ламати сервери, вони стабільно працюють і, в порівнянні з більш сучасними фреймворками, які ломали не так дано на державних сайтах (laravel + october), на нашому сайті втручань не було. Бо захист є багаторівневий, а в самому коді кохани більше кастомного, ніж по замовчанню. Перехід на 7 пхп — це умова держспецзв’язку для даної ситуації. Грошей жодного разу на розробку нових сайтів не виділяли, а те що закладали раніше, було забрано. Ми весь час робили власними силами за зарплату, яку як тут замітили «отримують бомжі в США»... Проте я спитав, скільки на вашу думку може коштувати дана робота, щоб до кінця року ми змогли виконати її. Питання доцільності чи розгляд інших варіантів — не предмет мого запиту. Давайте звузимо запит: чи коштує переведення (послідовне виправлення всіх відмінностей коду для сучасного пхп) більше 100 тис грн, або ні? Є ще варіант, взяти в штат розробника на пхп з зарплатою 15 тис грн, навчити його кілька місяців, а потім він буде переводити до кінця року чи більше... Забув, що ще процедури як тендеру, так і конкурсу займають мінімум місяць.

Ми весь час робили власними силами за зарплату, яку як тут замітили «отримують бомжі в США»...

Ничего подобного- бомжи получали почти в 2 раза больше, от ~910$ без бонусов от штата и без налогов.

Для людей в сложном положении предусмотрены официальные выплаты. Пособие для бездомных людей в США составляет 710 долларов на личные расходы и 200 — на еду. Штат может доплачивать сверх указанных сумм.
В США бездомным будут платить по $1250

Так что приличный бомж сможет еще ИТ отдел нанять в госорганах Украины, в котором пишут на пыхыпы буквально за еду и пилить свой стартап типа карты с подписками где ближайшая раздача еды и уровень драк в районе за нее.

більше 100 тис грн, або ні?
взяти в штат розробника на пхп з зарплатою 15 тис грн

Ох капец. И кому надо идти колупать мертвый никому не нужный среди компаний фреймворк с легаси проектом, вместо [оплачиваемой] интернатуры в компании с актуальным стеком, или джуновской позиции? Какая должна быть мотивация? Тем более в компаниях еще иногда бонусы дают за колупание легаси проектов, от которых все бегут.

Забув, що ще процедури як тендеру

Голодные игры. Ярость бомжей. ©
Хотя может на тендерах там будет веселее и появится хоть «лишний» ноль сзади.

Хотя может на тендерах там будет веселее и появится хоть «лишний» ноль сзади.

хіба що після коми;

Если отбросить бессмысленность данной затеи, то правильный ответ «а хрен его знает», учитывая «а в самому коді кохани більше кастомного, ніж по замовчанню». Здесь уже возникает вопрос: адаптировать то что есть, или перекатываться на тройку? Заданный тобой вопрос это сродни «сколько стоит ремонт автомобиля? какого? ну красного, например». Сколько тех порталов на этом движке, сколько кастомного кода поверх фреймворка, сколько кастомного кода запихнули в фреймворк, насколько оно всё ужасно написано и т.д. и т.п. — всё это влияет.
Если делать будете своими силами, знаешь что бы я сделал? Я б сначала просто взял один из порталов и попробовал его перевести, только не на семёрку, потому что она уже на той же ступени, что и пятёрка, а хотя бы на 8.0, а лучше 8.2 сразу. Без тендеров, всяких процедур и т.д. Судя по коду ФВ что есть в сети — во второй версии еще нет композера, а значит нету дополнительных зависимостей от сторонних библиотек, а значит и править будет проще. Выделил бы пару программистодней на такой себе «пресейл», поднял бы окружение, настройл бы шторм на синтаксис пыха 8.2 и прогнал бы инспектором кода, поглядел бы что получится, что найдёт. Может вообще ничего не найдёт и всё взлетит, может найдёт такое, что легко поправить, быстро поправите и взлетит, а может вообще не взлетит. Потом я б еще на SonarQube прогнал на всяк случай, что он скажет. А после этого у тебя уже будет понимание сколько бюджета заложить в тендер, да и всё, там уже отобьете этот пресейл. А не видя кода это всё пальцем в небо.

Смотри, чисто интереса ради кинул версию 2.3.2, какую уж в интернете нашел, на инспектор шторма — чего-то супер ужасного не увидел. Опять же, если мы игнорируем тот факт, что это старый неподдерживаемый код, который черт его знает что там под капотом имеет. Профиль для пхп 8.2, написало мне 145 критических ошибок, глазами прометнулся — ничего сверхъестественного. 70 ошибок это несуществующие в 8.2 функции связанные с неподдерживаемыми библиотеками (mcrypt да mysql, последнее тебе неважно), где-то инспектор жалуется на синтаксис со скобками, остальное в принципе ерунда. Ну а после листать ворнинги и нотисы, но с ними проект как минимум взлетит. Поправить явное, а дальше ловить уже через error_log что оно там вывалит. Переезжай сразу на 8.2, я серьёзно, чтобы раз закрыть тему и ближайшие лет 5 к ней не возвращаться.
Второй вопрос это анализ именно вашего рукотворного кода. То же самое, тот же принцип. Сторонний человек с ДОУ тебе его не оценит — у него доступа к коду нет, а решение твоей задачи никак совершенно не коррелируется с инструкцией, что ты подал выше, твою задачу надо делать без инструкций, в лоб при помощи инспектора кода и чтения эррор лога (опять же, исходя из того, что вы остаётесь на кохана 2). Выбей финансов на 2-3 дня аналитики (сколько у вас там в госе сейчас можно мимо тендера пустить? может можно через какой разовый договор провернуть), дай человеку доступ к коду хотя бы одного портала и будешь иметь ответ (здесь нужно искать какого-то старовера, который не побоится копаться в кишках 10-15 летней давности). Может он тебе за эти пару дней во время анализа код заведёт, в смысле заставит на 8.2 работать, тогда проблема вообще уйдёт в другую плоскость, из «как сделать? можно ли сделать? сколько стоит?» в «а теперь будем ловить баги и устранять ворнинги с нотисами», а это уже другая задача. Для меня вообще очень странно, что у тебя в коллективе не нашлось спеца, который бы тебе быстренько накидал бы такой аналитики по готовому коду, кто-то ж этот код поддерживает, дописывает и т.д., спроси у него :) Думаю всё выйдет.

А не думали звернутись до якихось міжнародних фондів-програм? Думаю, той же самий USAID залюбки підтримав би грошіма ініциативу оновити ПЗ сайта ВР.

Ми постійно в контакті з міжнародними донорами та організаціями. Ця пропозиція не одноразово подавалась на розгляд і була відхилена, бо на глобальну переробку треба багато грошей. І сам процес тягнеться довше, ніж ті проекти міжнароджної допомоги існують. Тому ми отримали вказівку все, що можемо — робити власними силами. Так і робимо. Проте наших можливостей не вистачає, особливо в роботах, де потрібні специфічні знання. Зараз є шанс спочатку замовити експертизу і визначитись з ціною, а потім витратити допорогову суму зекономленого на зарплатах бюджету, щоб терміново виправити версію php з метою безпеки.

До речі, чи є тут знайомі ФОП експерти, які можуть провести аудит ПЗ веб-сайта і визначити, які потрібні роботи і скільки це коштуватиме... По бюджетній класифікації скоріш за все буде використаний код ДК 021:2015: 72220000-3 Консультаційні послуги з питань систем та з технічних питань

Ця пропозиція не одноразово подавалась на розгляд і була відхилена, бо на глобальну переробку треба багато грошей. І сам процес тягнеться довше, ніж ті проекти міжнароджної допомоги існують.

Сумно :(

Давайте звузимо запит: чи коштує переведення (послідовне виправлення всіх відмінностей коду для сучасного пхп) більше 100 тис грн, або ні?

Тобто приблизно 1 місячна зп нормального спеца?

Так
 — більше

У вас же мають бути свої фахівці, які можуть оновити версію й повиправляти помилки, згідно раніше опублікованих вакансій:

Чи зараз відсутній відділ ІТ у ВР?

Є вакансії. Потрібен Python для ШІ

вам також зайшов той прикол з ЧатГПТ, де він закон пише?
вирішили скоротити 450 дармоїдів і замість них посадити ШІ? )))

У нас стратегією електронного парламентаризму передбачено використання ШІ для кількох напрямків, для ефективного написання законів, переклад англійською/українською, інтеграція з ЄС, розпізнавання образів/персоналу на фото, розпізнавання та сінтез мовлення для стенограм і багато чого іншого. Чатбот вже активно використовується в роботі. А кількість «дармоїдів» — це питання конституції. Вони самі з цим розберуться, норма була закладена під час незалежності для боротьби з комуністами, бо їх тоді було дуже багато у владі, і треба було представити рух

вам також зайшов той прикол з ЧатГПТ, де він закон пише?

оце влучно!!!

Капец... бэкендер за 500$ еще и фронт более оплачиваемый =)
Зато в топ менеджмента Укрзализныци вполне себе мировая ЗП, а госайтишники пусть довольствуются локальным жалованием, которое меньше пособия для бомжей в США

Там є окреме посилання на вимоги, конкурс на місце, але хороша відпустка й одразу зрозуміло, що за проєкти.

Це старі ще доковідні конкурси,не активні, воєнний стан також доклав свої обмеження Крім зп є інші фактори, наприклад бронювання...

але хороша відпустка

А если не работать, то вообще 365дней в году отпуск (все ровно работа почти бесплатно) =) В компаниях отпуска за свой можно взять куда больше, при том что за месяц ты получишь годовую зарплату этой коммунистической позиции. Небось еще и грязными.
Я не понимаю какой псих туда может ходить, если там не раздают конфискат с масажистками чресел как бонусы.

Когось розважають екстремальні види спорту, а когось робота у держсекторі.

Это супер экстрим какой то. Все знают что там не фонтан, но блин 500$ это раза в 2-3 хуже чем я предполагал, если речь о мидле+.

это типичная зарплата для госучреждений, там всегда так было. И куча легаси, написанного 10-15 лет назад это вполне ок там. Вполне можно найти даже какую-то работающую базу на фокспро с 90х даже

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

Уборщица в крупных городах получает 300-350$, а государство 500$ предлагают инженеру ПО, который пол жизни задротил, ради пряника после выпуска, а там этот пряник лепешка говна. Страшно представить сколько вчерашний студент получает. Радикальный мазохизм с самоунижением, даже госпожа не надо =)

работающую базу на фокспро с 90х даже

FPD 2.6?

en.wikipedia.org/wiki/FoxPro Да оно самое. Такие мамонты засовывают в dosbox, то что наврядли найдутся желающие или живые поддерживать это

Не ну был же VFP 9.0
Visual FoxPro, который как desktop client к РostgreSQL, Oracle вполне себе нормуль.
Сам с ним работал и эти СУБД перепробовал.
Умертвили потом его, увы.
А DOS версия, это кринж конечно сейчас

З офіційного сайту kohanaframework.org:

Version 2.0 was released in November 2007, based purely on PHP 5.0 and a new OOP framework.
Version 3.0 was released on 9 September 2009.
The latest version 3.3.6 was released on 25. July 2016.

Просто оновити версію на PHP 7 (хоча вже є 8) може зайняти пару годин, якщо є всі потрібні доступи, а відловлювання помилок й виправлення цих помилок може бути місяць в залежності від об’єму коду.

До кінця цього року є час. Залишилось визначити ціну.

Спробуйте краще створити подібне замовлення на двох-трьох фріланс біржах, орієнтуйтесь на ціни від українців, американців та європейців.

Kohana це фактично був форк популярного фреймворку, я починав з неї ще років...не пам’ятаю вже. Просто перевести код буде вкрай складно, тре все або майже все переписувати. Бо все що там було вже застаріло і по модулям, і по принципам/стайлу, і по питанням безпеки, і по питанням продуктивності.

Я спочатку хотів приписати, що переробка всього — не варіант. =) Ми зважили всі за та проти, і з врахуванням бюджету, персоналу, який піідтримує старий код, і тому будемо переводити, що є, якщо це реально.

Підписатись на коментарі