Вопрос или проблема
У меня проблема с установкой symfony3 в php7, nginx и ubuntu 16.04, у меня такая ошибка:
Установленная на вашей системе версия intl ICU устарела (55.1) и не соответствует данным ICU, поставляемым с Symfony (57.1).
Чтобы получить самые последние данные интернационализации, обновите системный пакет ICU и расширение intl для PHP.
Как обновить версию ICU до 57.1 в ubuntu 16.04?
Это было просто дополнительное предложение, я выполнил:
php bin/symfony_requirements
и все в порядке.
[ХОРОШО]
Ваша система готова к запуску проектов Symfony
Дополнительные рекомендации для улучшения вашей настройки
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Установленная на вашей системе версия intl ICU устарела (55.1) и
не соответствует данным ICU, поставляемым с Symfony (57.1).
Чтобы получить самые последние данные интернационализации, обновите
системный пакет ICU и расширение intl для PHP.
Ответ или решение
Для того чтобы обновить версию ICU на Ubuntu 16.04, вам необходимо выполнить несколько шагов. Давайте разберем этот процесс более детально.
Понимание проблемы
Вы столкнулись с ошибкой, связанной с устаревшей версией ICU (International Components for Unicode), установленной на вашей системе. Symfony 3 требует более свежую версию ICU (57.1), в то время как на вашей системе установлена версия 55.1. Обновление этой библиотеки необходимо для правильной работы ваших приложений на PHP7 и Symfony.
Шаги по обновлению ICU на Ubuntu 16.04
-
Обновление системы: Для начала стоит убедиться, что ваша система обновлена:
sudo apt-get update sudo apt-get upgrade
-
Добавление репозитория: Поскольку стандартные репозитории могут не содержать необходимую версию ICU, вам нужно добавить PPA (Personal Package Archive) с более новыми версиями библиотек. Вы можете использовать репозиторий
ppa:ubuntu-toolchain-r/test
, который часто содержит новейшие версии пакетов:sudo add-apt-repository ppa:ubuntu-toolchain-r/test
-
Установка ICU: После добавления репозитория обновите списки пакетов и установите последнюю версию ICU:
sudo apt-get update sudo apt-get install libicu57
-
Проверка версии ICU: Убедитесь, что версия ICU обновилась. Для этого выполните следующую команду:
dpkg -l | grep libicu
Вы должны увидеть
libicu57
и его версию, которая должна быть не ниже 57.1. -
Обновление PHP intl расширения: После обновления библиотеки ICU вам нужно убедиться, что расширение
intl
PHP также обновлено:sudo apt-get install php-intl
Для PHP7.0 команда может выглядеть следующим образом:
sudo apt-get install php7.0-intl
-
Перезагрузка веб-сервера: После завершения установки вам нужно перезапустить веб-сервер, чтобы новые изменения вступили в силу:
sudo systemctl restart nginx
-
Проверка установки: Для завершения процесса проверьте, была ли исправлена проблема с версией ICU, выполнив команду, указанную в вашем исходном запросе:
php bin/symfony_requirements
Убедитесь, что предупреждение об устаревшей версии ICU больше не отображается.
Заключение
Обновление версии ICU на вашей системе Ubuntu 16.04 — это важный шаг для обеспечения совместимости с современными библиотеками, такими как Symfony 3. Следуя вышеуказанным шагам, вы сможете успешно обновить ICU и PHP intl, что позволит вашему приложению работать без сбоев.
Если у вас возникнут трудности на любом этапе процесса, рассмотрите возможность обращения к документации Ubuntu или сообществу на форумах для получения дополнительной поддержки.