Установка Symfony на Linux

Symfony — один из лучших полнофункциональных PHP‑фреймворков. Его активно используют более 600 000 разработчиков. Symfony применяется в крупных проектах и сервисах, таких как Spotify, Dailymotion и Trivago. В этом руководстве показано, как установить Symfony на Linux и быстро создать первое приложение.
Содержание
- Особенности Symfony
- Требования перед установкой
- Установка Symfony на Linux
- Установка Symfony CLI
- Установка Composer
- Создание первого веб‑приложения
- Отладка приложения
- Чеклисты и шпаргалки
- Частые проблемы и их решения
- FAQ
Особенности Symfony
Symfony позволяет быстро разрабатывать сложные сайты, веб‑приложения и микросервисы. Это возможно благодаря набору готовых компонентов, модульной архитектуре и экосистеме инструментов.
Ключевые возможности:
- Open source: быстрый, гибкий и хорошо документированный фреймворк.
- Большое сообщество разработчиков, тестировщиков и интеграторов.
- MVC‑архитектура (Model‑View‑Controller).
- Множество переиспользуемых и раздельных компонентов.
- Полнофункциональные классы для работы с базами данных.
- Composer как менеджер зависимостей.
- Чёткая структура директорий проекта.
- Гибкий роутинг URI.
- Управление кэшем и логирование ошибок.
- Объектно‑ориентированная архитектура (OOP).
Важно: Symfony совместим с современными версиями PHP. В примерах ниже используется PHP 8.2, но можно установить более новую версию, если это поддерживается вашей ОС и расширениями.
Требования перед установкой
Перед установкой Symfony нужно подготовить систему: добавить репозитории PHP (если требуется) и установить PHP с набором расширений. Ниже — команды для Debian/Ubuntu и Fedora. Выполняйте команды с правами sudo.
# Debian/Ubuntu
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
# Fedora (пример для Fedora 38 и совместимых)
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
sudo dnf install https://rpms.remirepo.net/fedora/remi-release-$(rpm -E%fedora).rpm -y
sudo dnf module enable php:remi-7.4 -y
После добавления репозиториев обновите списки пакетов и установите PHP 8.2 вместе с необходимыми зависимостями:
# Debian/Ubuntu
sudo apt update
sudo apt install php php-cli php-common php-xml libpcre3 git zip unzip -y
# Fedora
sudo dnf update
sudo dnf install php8.2 php8.2-cli php8.2-common php8.2-xml libpcre3 git zip unzip -y
Проверьте установленную версию PHP:
php -vПримечание: если в вашем окружении требуются дополнительные расширения (pdo_mysql, mbstring, intl и т.д.), установите их заранее через менеджер пакетов.
Установка Symfony на Linux
Для удобной работы с проектами Symfony установите Symfony CLI и Composer. Symfony CLI облегчает создание и запуск приложений. Composer управляет зависимостями PHP.
Установка Symfony CLI
Скачайте и установите Symfony CLI через wget или curl:
# Установка Symfony через wget
wget https://get.symfony.com/cli/installer -O - | bash
# Установка Symfony через curl
curl -sS https://get.symfony.com/cli/installer | bash
Добавьте Symfony в переменную окружения PATH и подгрузите изменения:
export PATH="$HOME/.symfony5/bin:$PATH"
source ~/.bashrcПосле этого команда symfony станет доступна в текущем терминале.
Установка Composer
Скачайте установщик Composer, проверьте контрольную сумму и установите Composer. В этом примере используется заранее известная хеш‑сумма для проверки (сохраните ту, что подходит вашей версии):
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Проверьте готовность окружения для разработки Symfony:
symfony check:req
В выводе вы увидите, удовлетворены ли требования (PHP, расширения, права и т.д.). Исправьте пункты, помеченные как требующие внимания.
Создание первого веб‑приложения
Перед созданием проекта полезно настроить git:
git config --global user.email "email_address"
git config --global user.name "full_name"Замените email_address и full_name на свои данные.
Создайте веб‑приложение (пакет webapp содержит шаблоны для типичного сайта) или микросервис/API:
# Веб‑приложение
symfony new --webapp mte
# Микросервис / API
symfony new mte
Перейдите в директорию проекта и запустите встроенный сервер:
cd mte/
symfony server:start
По умолчанию сервер слушает на http://127.0.0.1:8000. Откройте этот адрес в браузере, чтобы увидеть приветственную страницу Symfony.

Теперь можно начать разработку первой страницы и компонентов приложения.
Отладка приложения
Symfony содержит встроенные инструменты отладки, например Profiler и Web Debug Toolbar. Для расширенной отладки подключите сторонние инструменты или расширения, например Xdebug.
Короткий чек: как включить Xdebug для разработки
# Установите Xdebug (пример для Debian/Ubuntu)
sudo apt install php-xdebug -y
# Перезапустите веб‑сервер или php-fpm
sudo systemctl restart apache2
# Проверьте наличие расширения
php -v | grep XdebugProfiler отображает запросы, время выполнения, использование памяти, запросы к БД и т.д. Используйте эти данные для оптимизации.
Чеклисты и шпаргалки
Рольовые чеклисты перед запуском проекта:
Разработчик:
- Установлены PHP и расширения (pdo_mysql, mbstring, intl).
- Установлен Composer и зависимости проекта.
- Локальный dev‑сервер запускается успешно.
DevOps / Системный администратор:
- Настроен веб‑сервер (NGINX/Apache) для продакшена.
- Настроены права на директории var и vendor.
- Настроено резервное копирование и мониторинг.
QA / Тестировщик:
- Настроены тестовые окружения и CI.
- Запущены unit и functional тесты.
Шпаргалка команд (часто используемые):
# Создать проект
symfony new --webapp myproject
# Запустить сервер
cd myproject
symfony server:start
# Установить зависимость через Composer
composer require package/name
# Проверить требования
symfony check:req
# Отладка
symfony server:logФакт‑бокс: ключевые числа
- Сообщество: более 600 000 разработчиков.
- Минимальная рекомендуемая версия PHP: 8.0+ (в примерах — 8.2).
- Компоненты Symfony можно использовать отдельно в любых PHP‑проектах.
Частые проблемы и их решения
- Ошибка: «Missing PHP extension» — установите требуемое расширение через apt/dnf и перезапустите PHP.
- symfony: команда не найдена — убедитесь, что путь к бинарнику добавлен в PATH и вы перезапустили shell.
- Composer зависает при установке — проверьте доступ к packagist.org и настройки proxy/SSL.
- Права на директории — убедитесь, что web‑сервер имеет права на папки var и vendor.
Критерии приёмки
- Проект собирается без ошибок: composer install проходит успешно.
- Встроенный сервер запускается и возвращает 200 OK для корня сайта.
- Инструменты отладки показывают работоспособность (Profiler доступен).
Альтернативы и когда Symfony не подходит
- Microframework (например Slim, Silex) подойдёт для очень лёгких API.
- Для проектов с узкоспециализированной архитектурой можно выбрать Laravel (более «opinionated») или чистые PSR‑совместимые компоненты.
- Если требуется минимальный оверхед и высокая производительность для простого API, рассмотрите инструменты на базе Swoole.
Mermaid: быстрая схема выбора шаблона проекта
flowchart TD
A[Нужен сайт с шаблонами и страницами?] -->|Да| B[Использовать --webapp]
A -->|Нет| C[Нужен API/микросервис?]
C --> D[Использовать базовый шаблон]FAQ
Как проверить, что Symfony CLI действительно установлен?
Выполните symfony -v. Команда вернёт версию CLI.
Какая версия PHP нужна для Symfony?
Symfony поддерживает современные версии PHP. Рекомендуется использовать PHP 8.0 и выше; в руководстве приведён пример с PHP 8.2.
Заключение
Symfony — мощный и гибкий фреймворк для веб‑разработки на PHP. Установка на Linux включает подготовку репозиториев, установку PHP и расширений, установку Symfony CLI и Composer, создание проекта и запуск встроенного сервера. Следуйте чеклистам для ролей и используйте инструменты отладки для повышения качества кода.
Image credit: Nimrach Chaudhry. All alterations and screenshots by Nimrah Chaudhry.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента