Сейчас существует много вариантов установки Symfony: Symfony CLI, Docker, Laragon, OpenServer. Вопрос упирается в то, какая у вас ОС: MacOS, Linux Windows. Если у вас MacOS или Linux, проще всего поставить Docker и использовать его и для PHP, и для базы данных. Для Windows Docker тоже вполне можно установить, но там придется больше всего доставлять, и займет это все довольно много места. В том случае, если жесткий диск у вас невелик, хорошей альтернативой будет XAMPP - это локальный сервер, в котором установлен модуль PHP v.8.2+. Это является обязательным для последних версий Symfony, поэтому XAMPP пока перевешивает в плане выбора между ним и OpenServer, хотя OpenServer уже выпустил свою сборку 6-й версии.
Начало установки. Определение переменных среды
Скачиваем XAMPP отсюда. Имеет смысл выбирать тот, в котором PHP версия выше. Он нам будет нужен и использовать для указания пути до PHP и mySQL.
Устанавливаем XAMPP и указываем переменные среды, вставляя к ним путь, ведущий к PHP mySQL на XAMPP :
|
1 2 |
php - E:\xampp\php mysql - E:\xampp\mysql\bin |
Для этого вам нужно в Windows открыть окно Параметры - Переменные среды, в котором вы дважды нажимаете кнопку "Создать".
Возможно, после установки лучше будет перезагрузить компьютер.
Composer. Еще вам понадобится composer, чтобы развернуть все нужные компоненты и скачать дополнительные. Его скачивание и установка просты, поэтому смысла описывать процесс нет.
Затем вам будет нужен установщик для Symfony CLI. Он называется Scoop и вю информацию об установке можно посмотреть на сайте https://scoop.sh/. Основное, что нужно выполнить, это 2 команды в терминале PowerShell версии 5.1 или более поздней. В ней после строки C:\> prompt, нужно написать:
|
1 2 |
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression |
Вы изменяете первой строкой политику безопасности для текущего пользователя, так что вам придется согласиться с вопросом в системном окне.
Затем нужно установить Symfony CLI командой
|
1 |
scoop install symfony-cli |
Когда вы установили Symfony CLI, нужно будет проверить системные требования, набрав в терминале (CTRL + R b cmd) строку:
|
1 |
symfony check:requirements |
Хорошо, если у вас сразу высветиться
Your system is ready to run Symfony projects
Иначе вам нужно найти ваш php.ini и включить расширение opcache.so в случае такого предупреждения:
|
1 2 |
a PHP accelerator should be installed > Install and/or enable a PHP accelerator (highly recommended). |
Сделать это очень просто: нужно убрать ; в строке ;zend_extension=opcache.so:
|
1 2 3 4 |
#Было ;zend_extension=opcache.so #Стало zend_extension=opcache.so |
Кроме того, возможно у вас будут еще такие предупреждения:
|
1 2 3 4 5 6 7 8 9 |
* intl extension should be available > Install and enable the intl extension (used for validators). * realpath_cache_size should be at least 5M in php.ini > Setting "realpath_cache_size" to e.g. "5242880" or "5M" in > php.ini* may improve performance on Windows significantly in some > cases. * "post_max_size" should be greater than "upload_max_filesize". > Set "post_max_size" to be greater than "upload_max_filesize". |
В этом случае вам нужно сделать изменения в переменных в файле php.ini:
|
1 2 3 4 5 6 7 8 9 |
extension=intl realpath_cache_size = 5400k #или realpath_cache_size = 5M upload_max_filesize=40M post_max_size=48M |
Создание нового проекта Symfony
Для создания нового проекта Symfony необходимо набрать в консоли команду
|
1 |
E:\xampp\htdocs> symfony new my_project --webapp |
В этом случае вы установите последнюю версию Symfony. Если у вас не установлена на машине Git, то вам придется ее скачать и установить перед запуском проекта.
Затем нужно будет перейти в папку проекта командой cd my_project и вызвать запуск сервера командой:
|
1 |
symfony server:start |
Все это вы можете еще раз прочитать в официальной документации.
После успешной установке проекта на Symfony вы должны увидеть примерно такое сообщение в терминале:
The Web server is using PHP CGI 8.2.12
http://127.0.0.1:8000
Результат установки:
Чтобы остановить сервер, нажмите CTRL + C. В терминале должно появиться сообщение
Проект
Для того чтобы работать с Symfony, вам понадобится консоль. Поэтому откройте свой проект в редакторе кода (VSCode, PhpStorm или любой другой) и наберите команду в терминале:
|
1 |
php bin/console |
Вы увидите все команды, доступные вам для работы.
На самом деле, если вы прошли все шаги установки, то должны были призадуматься о том, а XAMPP-то нам зачем нужен был? До сих пор все отлично работало и без него. Да, переменные для PHP и MySQL мы указали в Path для XAMPP, но PHP можно было скачать и в отдельную папку разархивировать, изменив путь к ней для переменной php.
А все дело в базах данных.
Подключение базы данных
Symfony предоставляет все инструменты, необходимые для использования баз данных в ваших приложениях, благодаря Doctrine , лучшему набору библиотек PHP для работы с базами данных. Эти инструменты поддерживают реляционные базы данных, такие как MySQL и PostgreSQL, а также базы данных NoSQL, такие как MongoDB.
Создать базу данных можно как из командной строки, так и из phpMyAdmin, который входит в XAMPP. Мы будем использовать терминал.
Открываем панель управления XAMPP из меню Пуск (XAMPP Control Panel), включаем Apache и MySQL, кликаем на кнопку Admin рядом с MySQL и открываем таким образом phpMyAdmin. Пока никакую базу данных сами "ручками" не создаем. Вместо этого находим в папке с вашим проектом файл .env и в нем комментируем строку, относящуюся к БД PostgreSQL, и вставляем или изменяем строку для MySQL:
|
1 2 |
#DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8" DATABASE_URL="mysql://root:@127.0.0.1:3306/symfodb" |
Таким образом мы показываем системе, что MySQL у нас доступна для пользователя root на localhost 127.0.0.1:3306 с портом 3306, а имя БД - symfodb. По умолчанию кодировка для БД в XAMPP - utf8mb4_general_ci, поэтому ее можно не указывать.
Это еще не все. Теперь надо подготовиться к установке БД через консоль.
Установка Doctrine
Для конфигурирования БД из-под Symfony нужно установить поддержку Doctrine через терминал, открытый в папке вашего проекта, 2 пакета:
|
1 2 |
composer require symfony/orm-pack composer require --dev symfony/maker-bundle |
Последний вам еще пригодится для создания контроллеров.
После окончания установки набираете/вставляете в консоль команду
|
1 |
php bin/console doctrine:database:create |
После успешного создания БД вы увидите следующую строку:
|
1 |
Created database `symfodb` for connection named default |
Теперь обновите страницу с phpMyAdmin - вы увидите в списке баз данных свою symfodb:
Информацию по установке Doctrine и настройке базы данных можно найти на официальном сайте.

