Вы не должны обновляться напрямую. Вместо этого сначала обновитесь до 2.8, исправьте все устаревания с помощью инструмента, подобного deprecation-Detector . Возможно, вы захотите сделать это небольшими шагами. Тогда было довольно много устаревших и даже некоторых BC-разрывов, особенно вокруг компонента формы, и чтение changelogs между версиями важно для отслеживания этих изменений. Это звучит не так много, но это уже может быть очень утомительным занятием, но оно того стоит.
Как только вы перейдете на 2.8, вы можете переключиться на Symfony 3.4, снова исправить все устаревшие версии. Был один связанный с безопасностью BC-break, который легко исправить. Кроме этого, обновление с 2.8 до 3.4 должно быть проще, чем обновление до 2.8.
Начиная с версии 3.3 существует постоянный журнал устареваний , который можно использовать для исправления всех устареваний, введенных во время второстепенных выпусков. Когда вы доберетесь до 3.4, у вас все будет хорошо на некоторое время. Это долгосрочная версия поддержки, поэтому вам не понадобятся серьезные обновления до следующего года.
4.0 не получает исправлений ошибок, а исправления безопасности доступны только до января 2019 года, поэтому, если вы хотите перейти на следующую основную версию, я предлагаю перейти на 4.2, а затем регулярно обновлять (каждые 6 месяцев, когда выходит новый вспомогательный выпуск) из). Если это звучит слишком хлопотно, я рекомендую какое-то время оставаться на версии 3.4, а затем перейти на следующую версию LTS, выполнив те же действия, что и выше.
Особенно при обновлении Symfony 3.4 до 4.x вы также можете взглянуть на инструмент под названием rector , который может выполнять автоматические обновления для вас. Насколько я могу судить, он не поддерживает все произошедшие изменения, но, по крайней мере, облегчит некоторые из них, автоматизировав их для вас.
edit: Имейте в виду, что при обновлении вам также придется обновлять используемые вами пакеты, а некоторые из них могут даже не поддерживать 3.x или 4.x. Обращение к ним путем внесения изменений в конфигурацию вручную или замены их, вероятно, является наиболее раздражающей частью работы. Использование composer why
и composer why-not
, чтобы выяснить, почему composer не будет обновлять определенные пакеты, или даже сам Symfony будет очень полезен.