Суть такова есть достаточно крупный медиа проект, запускался и был написан 10 дет назад и первая версия написана практически полностью процедурно. Потом в году эдак в 2010 начали обновлять и переносить функционал на yii1. Сейчас принято решение доделывать сайт и внедрять новый функционал, по пути редизайн. Встает вопрос что сайт надо переделывать с учетом современных реалий и технологий, соответственно выкинув нафиг старую часть, переписав все предварительно на yii2. В силу того что разом переписать весь функционал не получится, хотелось бы оставить старую часть рабочей и потихоньку накатывать новый функционал на yii2.
Самая загвоздка заключается в том что старая часть сайта работает на php5.3, да еще и со включенными глобалсами (не ругайтесь писал не я). Дак вот каким образом можно произвести апдейт этого всего? Учитывая что yii2 работает на 5.4
1. vlom - 11 Августа, 2015 - 13:23:16 - перейти к сообщению
2. DeepVarvar - 11 Августа, 2015 - 13:46:11 - перейти к сообщению
Медленно но верно, писать ВСЕ локально, пол года, год.
А когда будет готов и оттестирован новый, тогда и полностью внедрять.
Иначе ты только увеличишь число костылей и запутаешься где новый, а где старый.
Ибо проблема в инструменте, который устарел, или был не верно выбран изначально.
А когда будет готов и оттестирован новый, тогда и полностью внедрять.
Иначе ты только увеличишь число костылей и запутаешься где новый, а где старый.
Ибо проблема в инструменте, который устарел, или был не верно выбран изначально.
3. vlom - 11 Августа, 2015 - 13:54:15 - перейти к сообщению
DeepVarvar пишет:
Ибо проблема в инструменте, который устарел, или был не верно выбран изначально.
Выбрано было все правильно, но времена иду, технологии совершенствуются и логично что старый сайт просто морально устарел
DeepVarvar пишет:
Иначе ты только увеличишь число костылей и запутаешься где новый, а где старый.
Там и сейчас черт ногу сломит. несколько дней разбирался что работает на yii, а что еще с лохматых времен
4. Мелкий - 11 Августа, 2015 - 14:12:53 - перейти к сообщению
Если целиком - слишком много, значит надо делить на части поменьше.
Как запустить в принципе - собрать и поднять рядом второй fpm с другим root. И сразу актуальной версии.
Дальше мне в голову приходят такие варианты:
0) делить на nginx по request_uri: такие-то запросы отдавать старому fpm, такие-то - новому
Придётся что-то придумывать с шареными данными - авторизацией, например.
1) заменять функционал бекенда. Написать на новом сайте api для внутренних нужд, заменять на старом сайте весь функционал на вызовы api, пока не станет возможным заменить целиком фронтенд.
В обоих вариантах не поддавайтесь на соблазн использовать единую кодовую базу - решительно запрещайте какое-то взаимодействие на уровне PHP-кода. Иначе старые костыли так и переползут.
Как запустить в принципе - собрать и поднять рядом второй fpm с другим root. И сразу актуальной версии.
Дальше мне в голову приходят такие варианты:
0) делить на nginx по request_uri: такие-то запросы отдавать старому fpm, такие-то - новому
Придётся что-то придумывать с шареными данными - авторизацией, например.
1) заменять функционал бекенда. Написать на новом сайте api для внутренних нужд, заменять на старом сайте весь функционал на вызовы api, пока не станет возможным заменить целиком фронтенд.
В обоих вариантах не поддавайтесь на соблазн использовать единую кодовую базу - решительно запрещайте какое-то взаимодействие на уровне PHP-кода. Иначе старые костыли так и переползут.
5. DeepVarvar - 11 Августа, 2015 - 14:15:38 - перейти к сообщению
Мелкий, мне кажется в таком варианте будет понаписано перевалочных плюшек намного больше, чем вообще без них.
И есть же еще -- работает не трожь.
Но это все конечно ИМХО, там всеравно надо по месту смотреть и принимать конкретное решение.
Так то мы тут все советчики-безответчики ))
И есть же еще -- работает не трожь.
Но это все конечно ИМХО, там всеравно надо по месту смотреть и принимать конкретное решение.
Так то мы тут все советчики-безответчики ))
6. Мелкий - 11 Августа, 2015 - 14:21:16 - перейти к сообщению
DeepVarvar, возможно. Но зависит от проекта.
Когда переносили профит-партнер, то авторизацию и данные на одном довольно жирном поддомене оказалось проще синхронизировать. Потом ещё долго готовили обновление для этого поддомена.
Когда переносили профит-партнер, то авторизацию и данные на одном довольно жирном поддомене оказалось проще синхронизировать. Потом ещё долго готовили обновление для этого поддомена.
7. Panoptik - 11 Августа, 2015 - 22:51:36 - перейти к сообщению
а еще можно прогнать код по ченджлогу с 5.3 на 5.4 и убрать все несовместимости, и обновить сам пых до 5.4. а после будет меньше шаманства с настройкой сервера и разных версий пыхов
8. DeepVarvar - 12 Августа, 2015 - 08:46:14 - перейти к сообщению
А почему вы, образно говоря, считаете, что писать
вместо
это шаманство?