Установка и настройка Symfony¶
В этой главе описано, как установить Symfony разными способами и как решить наиболее распространенные проблемы, которые могут возникнуть в процессе установки.
Cоздание приложений Symfony¶
Symfony предоставляет специальное приложение под названием Установшик Symfony для облегчения создания приложений Symfony. Этот установщик совместим с PHP 5.4 и нуждается в единоразовой установке на вашу систему:
1 2 3 4 5 6 7 | # системы Linux and macOS
$ sudo mkdir -p /usr/local/bin
$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony
# системы Windows
c:\> php -r "readfile('https://symfony.com/installer');" > symfony
|
Note
В Linux и macOS создается глобальная команда symfony
. В Windows,
переместите файл symfony
в папку, которая включена в переменную окружения
PATH
для создания глобальной команды, или переместите его в любую
другую удобную вам папку:
1 2 3 4 5 6 7 8 9 10 | # например, при использовании WAMP ...
c:\> move symfony c:\wamp\bin\php
# ... выполните команду:
c:\> symfony
# перемещение в вашу папку проектов ...
c:\> move symfony c:\projects
# ... выполните команду
c:\> cd projects
c:\projects\> php symfony
|
Когда установщик Symfony будет установлен, создайте ваше первое приложение
Symfony c помощью команды new
:
1 | $ symfony new my_project_name
|
Эта команда создаст новую папку под названием my_project_name/
, в которой
будет пустой проект, основанный на последней доступной стабильной версии Symfony.
Кроме того, установщик проверяет, соответствует ли ваша система техническим требованиям
для выполнения приложений Symfony. Если нет, вы увидите список необходимых изменений
для соответствия требованиям.
Note
Если установщик не работает или не выдает никакого результата, убедитесь в том, что на вашем компьютере установлен и включено PHP расширение Phar.
Note
Если сертификаты SSL установлены в вашей системе неправильно, вы можете увидеть такую ошибку:
cURL error 60: SSL certificate problem: unable to get local issuer certificate.
Вы можете решить эту проблему следующим образом:
Скачайте файл с обновленным списком сертификатов по ссылке https://curl.haxx.se/ca/cacert.pem
Переместите скачанный файл
cacert.pem
в безопасное место вашей системыОбновите ваш файл
php.ini
и создайте путь к нему:1 2 3 4 5
; системы Linux и macOS curl.cainfo = "/path/to/cacert.pem" ; системы Windows curl.cainfo = "C:\path\to\cacert.pem"
Создание вашего проекта на базе конкретной версии Symfony¶
Если ваш проект должен быть основан на конкретной версии Symfony, используйте
второй дополнительный аргумент команды new
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # использовать последнюю версию любой ветви Symfony
$ symfony new my_project_name 2.8
$ symfony new my_project_name 3.1
# использовать конкретную вресию Symfony
$ symfony new my_project_name 2.8.3
$ symfony new my_project_name 3.1.5
# использовать бета или RC версию (удобно для тестированя новых версий Symfony)
$ symfony new my_project 2.7.0-BETA1
$ symfony new my_project 2.7.0-RC1
# использовать последнюю версию 'lts' (версия долгосрочной поддержки)
$ symfony new my_project_name lts
|
Каждая версия имеет свою докуменатцию, которую вы можете выбрать на любой странице документации (в русском переводе есть только одна версия - прим. переводчика).
Note
Прочтите Процесс выпуска Symfony, чтобы лучше понимать, почему существует несколько версий Symfony, и какую из них использовать для ваших проектов.
Создание приложений Symfony с помощью Composer¶
Если вы до сих пор пользуетесь версией PHP 5.3, либо если вы по какой-то причине не можете использовать установщик, вы можете создавать приложения Symfony с помощью Composer, диспетчера внедрения зависимостей, который используют современные PHP-приложения.
Если на вашем компьюетере не установлен Composer, начните с
глобальной установки Composer
. Потом, выполните
команду create-project
, чтобы создать новое приложение Symfony, основанное
на его последней стабильной версии:
1 | $ composer create-project symfony/framework-standard-edition my_project_name
|
Вы также можете установить любую другую версию Symfony передав второй аргумент
в команде create-project
:
1 | $ composer create-project symfony/framework-standard-edition my_project_name "2.8.*"
|
Tip
Если у вас медленное подключение к интернету, может показаться, что
Composer ничего не делает. Если это ваш случай, добавьте флажок -vvv
к
предыдущей команде для отображения детальной работы Composer.
Запуск приложения Symfony¶
Symfony использует внутренний веб-сервер PHP (доступный с версии PHP 5.4), таким образом, что в процессе разработки приложение можно сразу запускать. Следовательно, приложение Symfony можно запустить путём загрузки каталога проекта и выполнения следующей команды:
1 2 | $ cd my_project_name/
$ php bin/console server:run
|
Затем откройте ваш браузер и зайдите на http://localhost:8000/
URL,
чтобы увидеть приветственную страничку Symfony:

Если вместо приветственной странички вы видите пустую страницу или отчёт об ошибке, то это вследствие ошибки в конфигурации прав доступа каталога. Решение этой проблемы описано в части Настройка прав доступа.
Когда вы закончите работу над вашим приложением Symfony, остановите
сервер нажатием Ctrl+C
в терминале или коммандной строке.
Tip
Внутренний веб-сервер PHP прекрасно подходит для разработки, но его не следует использовать на готовом продукте. Вместо этого используйте Apache или Nginx. См. раздел Настройка веб-сервера.
Проверка конфигурации и настроек приложения Symfony¶
Установщик Symfony проверяет, готова ли ваша система к запуску приложений Symfony. Однако, конфигурация PHP для коммандной строки может отличаться от веб-конфигурации PHP. Поэтому Symfony предоставляет визуальный тестироващик конфигурации. Зайдите на следующий URL, чтобы проверить вашу конфигурацию и исправить любые проблемы перед тем, как продолжить:
1 | http://localhost:8000/config.php
|
Устранение проблем доступа¶
Если у вас есть какие-либо ошибки доступа или вы видите белый экран, тогда прочтите часть Настройка прав доступа для более детальной информации.
Обновление приложений Symfony¶
К данному моменты вы уже создали полностью функционирующее приложение Symfony!
Каждое приложение Symfony зависит от множества внешних библиотек, которые хранятся
в каталоге vendor/
и управляются с помощью Composer.
Частое обновление этих сторонних библиотек - хороший способ предотвратить появление багов и уязвимостей в системе безопасности. Выполните команду Composer ``update`, чтобы обновить всё сразу (это может занять несколько минут, в зависимости от сложности вашего проекта):
1 2 | $ cd my_project_name/
$ composer update
|
Tip
В Symfony есть команда, с помощью которой можно проверить, есть ли у зависимостей проекта какие-либо уязвимости с точки зрения безопасности:
1 | $ php bin/console security:check
|
Хорошей идеей с точки зрения безопасности будет регулярно выполнять эту команду, чтобы иметь возможность как можно скорее обновить или заменить небезопасные зависимости приложения.
Установка демо-версии Symfony или других сборок¶
Вы уже скачали Symfony Standard Edition: начальный проект по умолчанию, который используется для всех приложений Symfony. Вы будете использовать этот проект по всей документации для создания вашего приложения!
Symfony также предоставляет некоторые другие проекты и начальные сборки, которые вы можете использовать:
- The Symfony Demo Application
- Это полностью функциональное приложение, которое показывает рекомендуемый способ разработки приложений на Symfony. Это приложение было создано в качестве обучающего инструмента для новичков в Symfony, поэтому код приложения содержит много полезных комментариев и заметок.
- The Symfony CMF Standard Edition
- Symfony CMF - это проект, который облегчает разработчикам добавление функционала CMS к их приложениям Symfony. Это начальный проект, содержащий Symfony CMF.
- The Symfony REST Edition
- Эта версия показывает, как построить приложение, которое предоставляет RESTful API, используя FOSRestBundle и несколько других связанных с этим пакетов.
Установка существующего приложения Symfony¶
При совместной работе в приложении Symfony, редко создается новое приложение Symfony так, как это описано в предыдущих разделах. Вместо этого, кто-то другой уже создал и загрузил его на общее хранилище.
Рекомендуется не загружать некоторые файлы (parameters.yml)
и папки (vendor/
, кэш, логи) в хранилище кода, поэтому во время установки
существующего приложения Symfony вам нужно будет сделать следующее:
1 2 3 4 5 6 7 8 9 10 | # клонировать проект для скачивания его содержимого
$ cd projects/
$ git clone ...
# установить с помощью Composer зависимости проекта в папку vendor/
$ cd my_project_name/
$ composer install
# теперь Composer запросит у вас значения неопределённых параметров
$ ...
|
Продолжайте!¶
Теперь, когда установка и настройка позади, пора Создать вашу первую страницу в Symfony.
Детальнее об установке¶
- Using Symfony with Homestead/Vagrant
- Configuring a Web Server
- Как использовать встроенные веб-серверы PHP
- Upgrading a Third-Party Bundle for a Major Symfony Version
- Обновление стороннего пакета для старшей версии Symfony
- Установка Composer
- Setting up or Fixing File Permissions
- Установка или исправление разрешений файлов
- Upgrading Existing Applications to Symfony Flex
- Использование Symfony с Homestead/Vagrant
- Symfony Local Web Server
- How to Install or Upgrade to the Latest, Unreleased Symfony Version
- Как устанавливать или обновляться до последней невыпущенной версии Symfony
- Upgrading a Major Version (e.g. 4.4.0 to 5.0.0)
- Обновление полноценной версии (например, с 2.7.0 до 3.0.0)
- Upgrading a Minor Version (e.g. 4.0.0 to 4.1.0)
- Обновление упрощённой версии (например, с 2.5.3 до 2.6.1)
- Upgrading a Patch Version (e.g. 5.0.0 to 5.0.1)
- Обновление версии патча (например с 2.6.0 до 2.6.1)
- Конфигурация веб-сервера
Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.